C++ Actor Framework 1.0.0
|
A manager configures an I/O device and provides callbacks for various I/O operations. More...
#include <manager.hpp>
Public Member Functions | |
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. | |
virtual void | detach_from (abstract_broker *ptr)=0 |
Detach this manager from its parent and invoke detach_message() / if invoke_detach_message == true`. | |
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. | |
Public Attributes | |
strong_actor_ptr | parent_ |
Additional Inherited Members | |
Public Types inherited from caf::ref_counted | |
using | super = detail::atomic_ref_counted |
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 manager configures an I/O device and provides callbacks for various I/O operations.
|
pure virtual |
Detach this manager from its parent and invoke detach_message()
/ if
invoke_detach_message == true`.
void detach(scheduler* ctx, bool invoke_disconnect_message);
/ Causes the manager to gracefully close its connection. virtual void graceful_shutdown() = 0;
/ Removes the I/O device to the event loop of the middleman. virtual void remove_from_loop() = 0;
/ Adds the I/O device to the event loop of the middleman. virtual void add_to_loop() = 0;
/ Detaches this manager from its parent in case of an error. void io_failure(scheduler* ctx, operation op);
protected: / Creates a message signalizing a disconnect to the parent. virtual message detach_message() = 0;
/ Detaches this manager from ptr
.
void caf::io::network::manager::set_parent | ( | abstract_broker * | ptr | ) |
Sets the parent for this manager.
parent() == nullptr