libcaf
0.15.5
|
A stream manager configures an IO stream and provides callbacks for incoming data as well as for error handling. More...
#include <stream_manager.hpp>
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. More... | |
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. | |
![]() | |
void | set_parent (abstract_broker *ptr) |
Sets the parent for this manager. More... | |
abstract_broker * | parent () |
Returns the parent broker of this manager. | |
bool | detached () const |
Returns true if this manager has a parent, false otherwise. | |
void | detach (execution_unit *ctx, bool invoke_disconnect_message) |
Detach this manager from its parent and invoke detach_message() if invoke_detach_message == true`. More... | |
virtual void | stop_reading ()=0 |
Causes the manager to stop read operations on its I/O device. More... | |
virtual void | remove_from_loop ()=0 |
Removes the I/O device to the event loop of the middleman. | |
virtual void | add_to_loop ()=0 |
Adds the I/O device to the event loop of the middleman. | |
virtual void | io_failure (execution_unit *ctx, operation op)=0 |
Called by the underlying I/O device to report failures. | |
virtual std::string | addr () const =0 |
Get the address of the underlying I/O device. | |
![]() | |
ref_counted (const ref_counted &) | |
ref_counted & | operator= (const ref_counted &) |
void | ref () noexcept |
Increases reference count by one. | |
void | deref () noexcept |
Decreases reference count by one and calls request_deletion when it drops to zero. More... | |
bool | unique () const noexcept |
Queries whether there is exactly one reference. | |
size_t | get_reference_count () const noexcept |
![]() | |
virtual void | request_deletion (bool decremented_rc) noexcept |
Default implementations calls `delete this, but can be overriden in case deletion depends on some condition or the class doesn't use default new/delete. More... | |
Additional Inherited Members | |
![]() | |
virtual message | detach_message ()=0 |
Creates a message signalizing a disconnect to the parent. | |
virtual void | detach_from (abstract_broker *ptr)=0 |
Detaches this manager from ptr . | |
![]() | |
strong_actor_ptr | parent_ |
![]() | |
std::atomic< size_t > | rc_ |
![]() | |
using | manager_ptr = intrusive_ptr< manager > |
![]() | |
void | intrusive_ptr_add_ref (ref_counted *p) |
void | intrusive_ptr_release (ref_counted *p) |
A stream manager configures an IO stream and provides callbacks for incoming data as well as for error handling.
|
pure virtual |
Called by the underlying I/O device whenever it received data.
true
if the manager accepts further reads, otherwise false
.