Man Linux: Main Page and Category List

NAME

       ost::TCPSession -

       The TCP session is used to primarily to represent a client connection
       that can be managed on a seperate thread.

SYNOPSIS

       #include <socket.h>

       Inherits ost::Thread, and ost::TCPStream.

   Public Member Functions
       TCPSession (const IPV4Host &host, tpport_t port, size_t size=536, int
           pri=0, size_t stack=0)
           Create a TCP socket that will be connected to a remote TCP server
           and that will execute under its own thread.
       TCPSession (const IPV6Host &host, tpport_t port, size_t size=536, int
           pri=0, size_t stack=0)
       TCPSession (TCPSocket &server, int pri=0, size_t stack=0)
           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.
       TCPSession (TCPV6Socket &server, int pri=0, size_t stack=0)
       virtual ~TCPSession ()
           Make sure destruction happens through a virtual.

   Protected Member Functions
       int waitConnection (timeout_t timeout=TIMEOUT_INF)
           Normally called during the thread Initial() method by default, this
           will wait for the socket connection to complete when connecting to
           a remote socket.
       void initial (void)
           The initial method is used to esablish a connection when delayed
           completion is used.

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.

       Author:
           David Sugar <dyfet@ostel.com> Threaded streamable socket with non-
           blocking constructor.

       Examples:

       tcpthread.cpp.

Constructor & Destructor Documentation

   ost::TCPSession::TCPSession (const IPV4Host & host, tpport_t port, size_t
       size = 536, int pri = 0, size_t stack = 0)
       Create a TCP socket that will be connected to a remote TCP server and
       that will execute under it’s own thread. Parameters:
           host internet address of remote TCP server.
           port number of remote server.
           size of streaming buffer.
           pri execution priority relative to parent.
           stack allocation needed on some platforms.

   ost::TCPSession::TCPSession (const IPV6Host & host, tpport_t port, size_t
       size = 536, int pri = 0, size_t stack = 0)
   ost::TCPSession::TCPSession (TCPSocket & server, int pri = 0, size_t stack
       = 0)
       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:
           server tcp socket to accept a connection from.
           pri execution priority relative to parent.
           stack allocation needed on some platforms.

   ost::TCPSession::TCPSession (TCPV6Socket & server, int pri = 0, size_t
       stack = 0)
   virtual ost::TCPSession::~TCPSession () [virtual]
       Make sure destruction happens through a virtual. ..

Member Function Documentation

   void ost::TCPSession::initial (void) [protected, virtual]
       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 ost::Thread.

   int ost::TCPSession::waitConnection (timeout_t timeout = TIMEOUT_INF)
       [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().

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

       Parameters:
           timeout to wait for completion in milliseconds.

Author

       Generated automatically by Doxygen for GNU CommonC++ from the source
       code.