C++ Actor Framework 0.19
Loading...
Searching...
No Matches
Public Member Functions | List of all members
caf::io::network::datagram_manager Class Referenceabstract

A datagram manager provides callbacks for outgoing datagrams as well as for error handling. More...

#include <datagram_manager.hpp>

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

Public Member Functions

virtual bool consume (execution_unit *, datagram_handle hdl, receive_buffer &buf)=0
 Called by the underlying I/O device whenever it received data.
 
virtual void datagram_sent (execution_unit *, datagram_handle hdl, size_t, byte_buffer buffer)=0
 Called by the underlying I/O device whenever it sent data.
 
virtual bool new_endpoint (receive_buffer &buf)=0
 Called by the underlying I/O device to indicate that a new remote endpoint has been detected, passing in the received datagram.
 
virtual uint16_t port (datagram_handle) const =0
 Get the port of the underlying I/O device.
 
virtual std::string addr (datagram_handle) const =0
 Get the remote 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_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`.
 
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_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.
 

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 datagram manager provides callbacks for outgoing datagrams as well as for error handling.

Member Function Documentation

◆ consume()

virtual bool caf::io::network::datagram_manager::consume ( execution_unit ,
datagram_handle  hdl,
receive_buffer buf 
)
pure virtual

Called by the underlying I/O device whenever it received data.

Returns
true if the manager accepts further reads, otherwise false.

◆ new_endpoint()

virtual bool caf::io::network::datagram_manager::new_endpoint ( receive_buffer buf)
pure virtual

Called by the underlying I/O device to indicate that a new remote endpoint has been detected, passing in the received datagram.

Returns
true if the manager accepts further endpoints, otherwise false.

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