TSDuck v3.46-4816
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::ReactiveStreamHandlerInterface Class Reference

Interface class for StreamInterface Reactor handlers. More...

#include <tsReactiveStreamHandlerInterface.h>

Inheritance diagram for ts::ReactiveStreamHandlerInterface:

Public Member Functions

virtual void handleReadStream (ReactiveStream &stream, const ByteBlockPtr &data, ReactiveInputControl &control, int error_code, const ObjectPtr &user_data)
 Handle the reception of data from a read operation on a stream.
 
virtual void handleWriteStream (ReactiveStream &stream, int error_code, const ObjectPtr &user_data)
 Handle the completion of a write operation on a stream.
 

Detailed Description

Interface class for StreamInterface Reactor handlers.

All methods are empty by default. An application may implement the required ones only.

Member Function Documentation

◆ handleWriteStream()

virtual void ts::ReactiveStreamHandlerInterface::handleWriteStream ( ReactiveStream &  stream,
int  error_code,
const ObjectPtr &  user_data 
)
virtual

Handle the completion of a write operation on a stream.

Parameters
[in,out]streamStream device for which the handler is invoked.
[in]error_codeSystem-specific error code, including:
  • SYS_SUCCESS on success.
  • SYS_EOF if the handler is called as a completion of "close write" or "send EOF", whatever it means for the stream device.
  • SYS_CANCELED if the I/O was canceled before completion.
  • SYS_ERROR in case of unknown error.
[in]user_dataThe user-data shared pointer which was passed to startWriteStream().

Reimplemented in ts::ReactiveTLSConnection.

◆ handleReadStream()

virtual void ts::ReactiveStreamHandlerInterface::handleReadStream ( ReactiveStream &  stream,
const ByteBlockPtr &  data,
ReactiveInputControl &  control,
int  error_code,
const ObjectPtr &  user_data 
)
virtual

Handle the reception of data from a read operation on a stream.

Parameters
[in,out]streamStream device for which the handler is invoked.
[in]dataShared pointer to the received data. Can be the null pointer in case of error. The handler may safely copy the shared pointer, the pointed data will not be modified by the ReactiveStream. If the returned control specifies that not all input was used, the remaining data in the buffer will be reallocated in a new ByteBlock in the ReactiveStream, after handleReadStream() returns.
[in,out]controlInput control data that the handler may update according to the usage of data.
[in]error_codeSystem-specific error code, including:
  • SYS_SUCCESS on success.
  • SYS_EOF at end of file or if the other end of a communication link has disconnected,
  • SYS_ERROR in case of unknown error.
[in]user_dataThe user-data shared pointer which was passed to startReadStream().

Reimplemented in ts::ReactiveTLSConnection.


The documentation for this class was generated from the following file: