actor-framework
Public Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for caf::io::network::stream_manager:
Collaboration graph
[legend]

Public Member Functions

virtual bool consume (scheduler *ctx, const void *buf, size_t bsize)=0
 Called by the underlying I/O device whenever it received data. More...
 
virtual void data_transferred (scheduler *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.
 
virtual std::string addr () const =0
 Get the address 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. More...
 
abstract_brokerparent ()
 Returns the parent broker of this manager.
 
bool detached () const
 Returns true if this manager has a parent, false otherwise.
 
void detach (scheduler *ctx, bool invoke_disconnect_message)
 Detach this manager from its parent and invoke detach_message() ifinvoke_detach_message == true`. More...
 
virtual void graceful_shutdown ()=0
 Causes the manager to gracefully close its connection.
 
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.
 
void io_failure (scheduler *ctx, operation op)
 Detaches this manager from its parent in case of an error.
 
- Public Member Functions inherited from caf::detail::atomic_ref_counted
 atomic_ref_counted (const atomic_ref_counted &)
 
atomic_ref_countedoperator= (const atomic_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. More...
 
bool unique () const noexcept
 Queries whether there is exactly one reference.
 
size_t get_reference_count () const noexcept
 Queries the current reference count for this object.
 

Additional Inherited Members

- Public Types inherited from caf::ref_counted
using super = detail::atomic_ref_counted
 
- Protected Member Functions inherited from caf::io::network::manager
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.
 
- Protected Attributes inherited from caf::io::network::manager
strong_actor_ptr parent_
 
- Protected Attributes inherited from caf::detail::atomic_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 ( scheduler 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.

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