![]() |
TSDuck v3.45-4725
MPEG Transport Stream Toolkit
|
Interface class for TCP connection Reactor handlers. More...
#include <tsReactiveTCPConnectionHandlerInterface.h>

Public Member Functions | |
| virtual void | handleTCPAccepted (ReactiveTCPServer &server, ReactiveTCPConnection &sock, int error_code, const ObjectPtr &user_data) |
| Handle the completion of a client connection of a TCP socket in the context of a server. | |
| virtual void | handleTCPClosed (ReactiveTCPConnection &sock, const ObjectPtr &user_data) |
| Handle the completion of closing a TCP socket. | |
| virtual void | handleTCPConnected (ReactiveTCPConnection &sock, int error_code, const ObjectPtr &user_data) |
| Handle the completion of a connection of a TCP socket. | |
| virtual void | handleTCPReceive (ReactiveTCPConnection &sock, const ByteBlock &data, ReactiveTCPInputControl &control, int error_code, const ObjectPtr &user_data) |
| Handle the reception of TCP data. | |
| virtual void | handleTCPSend (ReactiveTCPConnection &sock, size_t position, int error_code, const ObjectPtr &user_data) |
| Handle the completion of a send operation on a TCP socket. | |
Interface class for TCP connection Reactor handlers.
All methods are empty by default. An application may implement the required ones only.
|
virtual |
Handle the completion of a connection of a TCP socket.
| [in,out] | sock | TCP socket for which the handler is invoked. |
| [in] | error_code | System-specific error code, SYS_SUCCESS on success, SYS_ERROR in case of unknown error, SYS_CANCELED if the connection was canceled before completion. |
| [in] | user_data | The user-data shared pointer which was passed to startConnect(). |
Reimplemented in ts::ReactiveTLSConnection.
|
virtual |
Handle the completion of a client connection of a TCP socket in the context of a server.
| [in,out] | server | TCP server in the context of which sock is starting a new client session. |
| [in,out] | sock | TCP socket for which the handler is invoked. |
| [in] | error_code | System-specific error code, SYS_SUCCESS on success, SYS_ERROR in case of unknown error. |
| [in] | user_data | The user-data shared pointer which was passed to whenAccepted(). |
Reimplemented in ts::ReactiveTLSConnection.
|
virtual |
Handle the completion of a send operation on a TCP socket.
| [in,out] | sock | TCP socket for which the handler is invoked. |
| [in] | position | The number of sent bytes since the socket was connected, at the end of the send operation for which the hanlder is called. This is informative only. |
| [in] | error_code | System-specific error code, SYS_SUCCESS on success, SYS_EOF if the handler is called as a completion of startCloseWriter(), SYS_ERROR in case of unknown error, SYS_CANCELED if the I/O was canceled before completion. |
| [in] | user_data | The user-data shared pointer which was passed to startSend(). |
Reimplemented in ts::ReactiveTLSConnection.
|
virtual |
Handle the reception of TCP data.
| [in,out] | sock | TCP socket for which the handler is invoked. |
| [in] | data | Received data. |
| [in,out] | control | Input control data that the handler may update according to the usage of data. |
| [in] | error_code | System-specific error code, SYS_SUCCESS on success, SYS_EOF if the peer has disconnected, SYS_ERROR in case of unknown error. |
| [in] | user_data | The user-data shared pointer which was passed to startReceive(). |
Reimplemented in ts::ReactiveTLSConnection.
|
virtual |
Handle the completion of closing a TCP socket.
An application closes a ReactiveTCPConnection using startClose() and this handler is called when the closing of the socket is complete. This is specifically important on operating systems with asynchronous I/O such as Windows. The application shall not call TCPSocket::close() and immediately consider the socket as done. If there are pending asynchronous I/O, the associated data buffers are still in use, until the cancelation of the these I/O are completed, after closing the socket. The application shall therefore wait for the handleTCPClosed() handler to destroy the data buffers and consider the socket as completely done.
| [in,out] | sock | TCP socket for which the handler is invoked. |
| [in] | user_data | The user-data shared pointer which was passed to startClose(). |
Reimplemented in ts::ReactiveTLSConnection.