class SocketPort

base class for realtime and thread pool serviced protocols. More...

Definition#include <socket.h>
InheritsSocket, TimerPort
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Members

Protected Members


Detailed Description

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)
[protected]

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:
svcpool thread object.
tcpsocket object to accept.

SocketPort (SocketService *svc, InetAddress &ia, short port)
[protected]

Construct a bound UDP socket for use in deriving realtime UDP streaming protocols handled by thread pool objects.

Parameters:
svcpool thread object.
iaaddress of interface to bind.
portnumber to bind to.

~SocketPort ()
[protected virtual]

Disconnect the socket from the service thread pool and the remote connection.

void Expired (void)
[protected virtual]

Called by the service thread pool when the objects timer has expired. Used for timed events.

void Pending (void)
[protected virtual]

Called by the service thread pool when input data is pending for this socket.

void Disconnect (void)
[protected virtual]

Called by the service thread pool when a disconnect has occured.

sockerror_t Connect (InetAddress &ia, short port)
[protected]

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:
iaaddress of remote host or subnet.
portnumber of remote peer(s).

Returns: 0 if successful.

inline int Send (void *buf, int len)
[protected]

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:
addressof buffer to send.
lenof bytes to send.

Returns: number of bytes sent.

inline int Recv (void *buf, size_t len)
[protected]

Receive a message from any host. This is used in derived classes to build protocols.

Parameters:
pointerto packet buffer to receive.
lenof packet buffer to receive.

Returns: number of bytes received.

inline int Peek (void *buf, size_t len)
[protected]

Examine the content of the next packet. This can be used to build "smart" line buffering for derived TCP classes.

Parameters:
pointerto packet buffer to examine.
lenof 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:
timeoutin 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:
timeoutin milliseconds.

Reimplemented from TimerPort