|
C++ Actor Framework 0.19
|
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. | |
| 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. | |
| 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. | |
| 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() ifinvoke_detach_message == true`. | |
| 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 (execution_unit *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_counted & | operator= (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. | |
| 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_ |
Related Symbols inherited from caf::ref_counted | |
| template<class T , class... Ts> | |
| intrusive_cow_ptr< T > | make_copy_on_write (Ts &&... xs) |
Constructs an object of type T in an intrusive_cow_ptr. | |
| template<class T , class... Ts> | |
| intrusive_ptr< T > | make_counted (Ts &&... xs) |
Constructs an object of type T in an intrusive_ptr. | |
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.