Important Updates:

- FunctionCore:
  - Output() returns largest no of bytes written to linked input
- SelectableCore:
  - Auto-manage:
    - Add AutoManage param -> Persistent
    - Will automatic open port if written to when Auto-Manage enabled
    - Will keep port open (re-open if closed) if Persistent = true
  - DNS resolve:
    - Set AddressFailed if port could not open/bind
    - Only use next resolved address if current address failed
This commit is contained in:
Charl Wentzel
2017-11-18 17:06:32 +02:00
parent abba077ed0
commit 7ef3d71af9
3 changed files with 74 additions and 14 deletions

View File

@@ -469,7 +469,9 @@ int CFunctionCore::Output( const char * ChannelName, const char * Data, int Len
int CFunctionCore::Output( const TChannel * Channel, const char * Data, int Len )
{
TChannelLink * OutChannel = NULL;
TChannelLink * OutChannel = NULL;
int TempLen = 0;
int OutLen = 0;
// Validate
if (!Channel || !Data) {
@@ -491,12 +493,13 @@ int CFunctionCore::Output( const TChannel * Channel, const char * Data, int Len
}
OutChannel = Channel->FirstOutput;
while (OutChannel) {
OutChannel->Function->Input( OutChannel->Name, Data, Len );
TempLen = OutChannel->Function->Input( OutChannel->Name, Data, Len );
OutLen = (TempLen > OutLen)? TempLen : OutLen;
OutChannel = OutChannel->Next;
}
// Return processed bytes
return Len;
return OutLen;
}
//---------------------------------------------------------------------------