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
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
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
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
Parameters
Author¶
Generated automatically by Doxygen for GNU CommonC++ from the source code.
Sun Dec 27 2020 | GNU CommonC++ |