CAF 0.17.6
Loading...
Searching...
No Matches
caf::io::network::stream_manager Class Referenceabstract

A stream manager configures an IO stream and provides callbacks for incoming data as well as for error handling. More...

#include <stream_manager.hpp>

Inheritance diagram for caf::io::network::stream_manager:
caf::io::network::manager caf::ref_counted caf::memory_managed caf::io::broker_servant< network::stream_manager, connection_handle, new_data_msg > caf::io::scribe caf::io::network::scribe_impl

Public Member Functions

virtual bool consume (execution_unit *ctx, const void *buf, size_t bsize)=0
 Called by the underlying I/O device whenever it received data.
virtual void data_transferred (execution_unit *ctx, size_t num_bytes, size_t remaining_bytes)=0
 Called by the underlying I/O device whenever it sent data.
virtual uint16_t port () const =0
 Get the port of the underlying I/O device.
Public Member Functions inherited from caf::io::network::manager
void set_parent (abstract_broker *ptr)
 Sets the parent for this manager.
abstract_brokerparent ()
 Returns the parent broker of this manager.
bool detached () const
 Returns true if this manager has a parent, false otherwise.
Public Member Functions inherited from caf::ref_counted
 ref_counted (const ref_counted &)
ref_counted & operator= (const ref_counted &)
void ref () const noexcept
 Increases reference count by one.
void deref () const noexcept
 Decreases reference count by one and calls request_deletion when it drops to zero.
bool unique () const noexcept
 Queries whether there is exactly one reference.
size_t get_reference_count () const noexcept

Additional Inherited Members

Protected Attributes inherited from caf::ref_counted
std::atomic< size_t > rc_

Detailed Description

A stream manager configures an IO stream and provides callbacks for incoming data as well as for error handling.

Member Function Documentation

◆ consume()

virtual bool caf::io::network::stream_manager::consume ( execution_unit * ctx,
const void * buf,
size_t bsize )
pure virtual

Called by the underlying I/O device whenever it received data.

Returns
true if the manager accepts further reads, otherwise false.

Implemented in caf::io::scribe.

◆ data_transferred()

virtual void caf::io::network::stream_manager::data_transferred ( execution_unit * ctx,
size_t num_bytes,
size_t remaining_bytes )
pure virtual

Called by the underlying I/O device whenever it sent data.

Implemented in caf::io::scribe.

◆ port()

virtual uint16_t caf::io::network::stream_manager::port ( ) const
pure virtual

Get the port of the underlying I/O device.

Implemented in caf::io::network::scribe_impl.


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