ost::tcpsession(3)

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

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

Author

Generated automatically by Doxygen for GNU CommonC++ from the source
code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout