C++ Actor Framework 1.0.0
Loading...
Searching...
No Matches
caf::io::network::manager Class Referenceabstract

A manager configures an I/O device and provides callbacks for various I/O operations. More...

#include <manager.hpp>

Inheritance diagram for caf::io::network::manager:
caf::ref_counted caf::detail::atomic_ref_counted caf::io::network::acceptor_manager caf::io::network::datagram_manager caf::io::network::stream_manager

Public Member Functions

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.
 
virtual void detach_from (abstract_broker *ptr)=0
 Detach this manager from its parent and invoke detach_message() / ifinvoke_detach_message == true`.
 
- 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.
 
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_
 

Detailed Description

A manager configures an I/O device and provides callbacks for various I/O operations.

Member Function Documentation

◆ detach_from()

virtual void caf::io::network::manager::detach_from ( abstract_broker * ptr)
pure virtual

Detach this manager from its parent and invoke detach_message() / ifinvoke_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.

◆ set_parent()

void caf::io::network::manager::set_parent ( abstract_broker * ptr)

Sets the parent for this manager.

Precondition
parent() == nullptr

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