class TCPSession

Threaded streamable socket with non-blocking constructor. More...

Full nameost::TCPSession
Definition#include <socket.h>
Inheritsost::TCPStream [public ], ost::Thread [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Methods


Detailed Description

The TCP session is used to primarily to represent a client connection that can be managed on a seperate thread. The TCP session also supports a non-blocking connection scheme which prevents blocking during the constructor and moving the process of completing a connection into the thread that executes for the session.

int  WaitConnection (timeout_t timeout = TIMEOUT_INF)

WaitConnection

[protected]

Normally called during the thread Initial() method by default, this will wait for the socket connection to complete when connecting to a remote socket. One might wish to use setCompletion() to change the socket back to blocking I/O calls after the connection completes. To implement the session one must create a derived class which implements Run().

Parameters:
timeoutto wait for completion in milliseconds.

Returns: 0 if successful, -1 if timed out.

void  Initial (void)

Initial

[protected]

The initial method is used to esablish a connection when delayed completion is used. This assures the constructor terminates without having to wait for a connection request to complete.

Reimplemented from Thread.

void  Final (void)

Final

[protected]

TCPSession derived objects can be freely created with "new" and safely terminate their "Run" method on their own by self-deleting when the thread terminates.

Reimplemented from Thread.

 TCPSession (const InetHostAddress &host, tpport_t port, int size = 512, int pri = 0, int stack = 0)

TCPSession

Create a TCP socket that will be connected to a remote TCP server and that will execute under it's own thread.

Parameters:
hostinternet address of remote TCP server.
portnumber of remote server.
sizeof streaming buffer.
priexecution priority relative to parent.
stackallocation needed on some platforms.

 TCPSession (TCPSocket &server, int size = 512, int pri = 0, int stack = 0)

TCPSession

Create a TCP socket from a bound TCP server by accepting a pending connection from that server and execute a thread for the accepted connection.

Parameters:
servertcp socket to accept a connection from.
sizeof streaming buffer.
priexecution priority relative to parent.
stackallocation needed on some platforms.