libcaf  0.15.3
Public Member Functions | Protected Member Functions | Protected Attributes | Related Functions | List of all members
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::memory_managed caf::io::network::acceptor_manager caf::io::network::stream_manager

Public Member Functions

 manager (abstract_broker *ptr)
 
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 (execution_unit *ctx, bool invoke_disconnect_message)
 Detach this manager from its parent and invoke detach_message() ifinvoke_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.
 
virtual uint16_t port () const =0
 Get the port of the underlying I/O device.
 
- Public Member Functions inherited from caf::ref_counted
 ref_counted (const ref_counted &)
 
ref_countedoperator= (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
 
- Public Member Functions inherited from caf::memory_managed
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...
 

Protected Member Functions

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

strong_actor_ptr parent_
 
- Protected Attributes inherited from caf::ref_counted
std::atomic< size_t > rc_
 

Related Functions

(Note that these are not member functions.)

using manager_ptr = intrusive_ptr< manager >
 

Detailed Description

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

Member Function Documentation

void caf::io::network::manager::detach ( execution_unit ctx,
bool  invoke_disconnect_message 
)

Detach this manager from its parent and invoke detach_message() ifinvoke_detach_message == true`.

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

Sets the parent for this manager.

Precondition
parent() == nullptr
virtual void caf::io::network::manager::stop_reading ( )
pure virtual

Causes the manager to stop read operations on its I/O device.

Unwritten bytes are still send before the socket will be closed.

Friends And Related Function Documentation

using manager_ptr = intrusive_ptr<manager>
related

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