|
|
The socket port is an internal class which is attached to and then serviced by a specific SocketService "object". Derived versions of this class offer specific functionality for specific protocols. Both APE supporting frameworks and application objects may be derived from related protocol specific base classes.
| SocketPort (SocketService *svc, TCPSocket &tcp) |
Construct an accepted TCP socket connection from a specific bound TCP server. This is meant to derive advanced application specific TCP servers that can be thread pooled.
Parameters:
| svc | pool thread object. |
| tcp | socket object to accept. |
| SocketPort (SocketService *svc, InetAddress &ia, short port) |
Construct a bound UDP socket for use in deriving realtime UDP streaming protocols handled by thread pool objects.
Parameters:
| svc | pool thread object. |
| ia | address of interface to bind. |
| port | number to bind to. |
| ~SocketPort () |
Disconnect the socket from the service thread pool and the remote connection.
| void Expired (void) |
Called by the service thread pool when the objects timer has expired. Used for timed events.
| void Pending (void) |
Called by the service thread pool when input data is pending for this socket.
| void Disconnect (void) |
Called by the service thread pool when a disconnect has occured.
| sockerror_t Connect (InetAddress &ia, short port) |
Connect a Socket Port to a known peer host. This is normally used with the UDP constructor. This is also performed as a non-blocking operation under Posix systems to prevent delays in a callback handler.
Parameters:
| ia | address of remote host or subnet. |
| port | number of remote peer(s). |
Returns: 0 if successful.
| inline int Send (void *buf, int len) |
Transmit "send" data to a connected peer host. This is not public by default since an overriding protocol is likely to be used in a derived class.
Parameters:
| address | of buffer to send. |
| len | of bytes to send. |
Returns: number of bytes sent.
| inline int Recv (void *buf, size_t len) |
Receive a message from any host. This is used in derived classes to build protocols.
Parameters:
| pointer | to packet buffer to receive. |
| len | of packet buffer to receive. |
Returns: number of bytes received.
| inline int Peek (void *buf, size_t len) |
Examine the content of the next packet. This can be used to build "smart" line buffering for derived TCP classes.
Parameters:
| pointer | to packet buffer to examine. |
| len | of packet buffer to examine. |
Returns: number of bytes actually available.
| void setTimer (timeout_t timeout = 0) |
Derived setTimer to notify the service thread pool of change in expected timeout. This allows SocketService to reschedule all timers. Otherwise same as TimerPort.
Parameters:
| timeout | in milliseconds. |
Reimplemented from TimerPort
| void incTimer (timeout_t timeout) |
Derived incTimer to notify the service thread pool of a change in expected timeout. This allows SocketService to reschedule all timers. Otherwise same as TimerPort.
Parameters:
| timeout | in milliseconds. |
Reimplemented from TimerPort