Scroll to navigation

ost::TCPSession(3) Library Functions Manual ost::TCPSession(3)

NAME

ost::TCPSession -
The TCP session is used to primarily to represent a client connection that can be managed on a separate 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 it's 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.

Additional Inherited Members

Detailed Description

The TCP session is used to primarily to represent a client connection that can be managed on a separate 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_tport, size_tsize = 536, intpri = 0, size_tstack = 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_tport, size_tsize = 536, intpri = 0, size_tstack = 0)

ost::TCPSession::TCPSession ( TCPSocket &server, intpri = 0, size_tstack = 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, intpri = 0, size_tstack = 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_ttimeout = 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.
Sun Dec 29 2013 GNU CommonC++