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

Sun Dec 27 2020 GNU CommonC++