Major Update:

- FunctionCore, SelectCore, SelectableCore, DeviceCore, FileCore:
  - Update Logs to show [ProcessName]/[FunctionName]
- SelectableCore:
  - Update ConnectTypeName array (more readable)
  - Return THandle on all OpenXxxx() methods
  - Do not remove select handle for UDPremoteClient (same handle as server)
  - Add correct Handle when adding RemoteClient to Selector
This commit is contained in:
Charl Wentzel
2018-11-22 11:29:55 +02:00
parent e3e5aa5258
commit 7434334280
6 changed files with 422 additions and 284 deletions

View File

@@ -18,9 +18,9 @@
// Types required for connections
typedef enum { ctNone = 0, ctSerial = 1, ctLinePrinter = 2, ctForkPipe = 3, ctUNIXserver = 4, ctUNIXclient = 5, ctUNIXremote = 6,
ctUDPserver = 7, ctUDPclient = 8, ctUDPremote = 9, ctTCPserver = 10, ctTCPremote = 11, ctTCPclient = 12 } EConnectType;
const char ConnectTypeName[][20] = { "None", "Serial", "LinePrinter", "ForkPipe", "UNIXserver", "UNIXclient", "UNIXremote",
"UDPserver", "UDPclient", "UDPremote", "TCPserver", "TCPremote", "TCPclient" };
ctUDPserver = 7, ctUDPclient = 8, ctUDPremote = 9, ctTCPserver = 10, ctTCPclient = 11, ctTCPremote = 12 } EConnectType;
const char ConnectTypeName[][20] = { "None", "Serial Port", "Line Printer", "Fork Pipe", "UNIX Server", "UNIX Client", "UNIX Remote Client",
"UDP Server", "UDP Client", "UDP Remote Client", "TCP Server", "TCP Client", "TCP Remote Client" };
typedef enum { csNone = 0, csOpenRequest = 1, csWaitingtoOpen = 2, csOpen = 3, csDataWaiting = 4, csClosed = 5, csFailed = 6 } EConnectState;
const char ConnectStateName[][15] = { "None", "OpenRequest", "WaitingToOpen", "Open", "DataWaiting", "Closed", "Failed" };
@@ -205,26 +205,26 @@ protected:
}
// Port Operations
int OpenSerialPort( THandle * Handle );
bool WriteSerialConfig( THandle * Handle );
bool ReadSerialConfig( THandle * Handle );
THandle * OpenSerialPort( THandle * Handle );
bool WriteSerialConfig( THandle * Handle );
bool ReadSerialConfig( THandle * Handle );
int OpenLinePrinterPort( THandle * Handle );
THandle * OpenLinePrinterPort( THandle * Handle );
// File Socket Operations
int OpenForkPipe( THandle * Handle );
int OpenUNIXserverSocket( THandle * Handle );
int OpenUNIXclientSocket( THandle * Handle );
int OpenUNIXremoteSocket( THandle * Handle );
THandle * OpenForkPipe( THandle * Handle );
THandle * OpenUNIXserverSocket( THandle * Handle );
THandle * OpenUNIXclientSocket( THandle * Handle );
THandle * OpenUNIXremoteSocket( THandle * Handle );
// Socket Operations
bool ResolveAddress( THandle * Handle, bool DelayResolve );
int OpenUDPserverSocket( THandle * Handle, bool DelayResolve );
int OpenUDPremoteSocket( THandle * Handle, char * RemoteAddr, char * RemotePort );
int OpenUDPclientSocket( THandle * Handle, bool DelayResolve );
int OpenTCPserverSocket( THandle * Handle, bool DelayResolve );
int OpenTCPremoteSocket( THandle * Handle );
int OpenTCPclientSocket( THandle * Handle, bool DelayResolve );
THandle * OpenUDPserverSocket( THandle * Handle, bool DelayResolve );
THandle * OpenUDPremoteSocket( THandle * Handle, char * RemoteAddr, char * RemotePort );
THandle * OpenUDPclientSocket( THandle * Handle, bool DelayResolve );
THandle * OpenTCPserverSocket( THandle * Handle, bool DelayResolve );
THandle * OpenTCPremoteSocket( THandle * Handle );
THandle * OpenTCPclientSocket( THandle * Handle, bool DelayResolve );
// Mutual Operations
int ReadFromFD( int FD, char * Data, int MaxLen );