Poster of Linux kernelThe best gift for a Linux geek
ost::TCPSession

ost::TCPSession

Section: C Library Functions (3) Updated: 16 Feb 2010
Local index Up
 

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 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.  

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.


 

Index

NAME
SYNOPSIS
Public Member Functions
Protected Member Functions
Detailed Description
Constructor & Destructor Documentation
ost::TCPSession::TCPSession (const IPV4Host & host, tpport_t port, size_t size = 536, int pri = 0, size_t stack = 0)
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)
ost::TCPSession::TCPSession (TCPV6Socket & server, int pri = 0, size_t stack = 0)
virtual ost::TCPSession::~TCPSession () [virtual]
Member Function Documentation
void ost::TCPSession::initial (void) [protected, virtual]
int ost::TCPSession::waitConnection (timeout_t timeout = TIMEOUT_INF) [protected]
Author

This document was created by man2html, using the manual pages.
Time: 21:51:52 GMT, April 16, 2011