libcaf
0.16.3
|
Interface to define hooks into the IO layer. More...
#include <hook.hpp>
Public Types | |
enum | event_type { message_received, message_sent, message_forwarded, message_sending_failed, message_forwarding_failed, actor_published, new_remote_actor, new_connection_established, new_route_added, connection_lost, route_lost, invalid_message_received, before_shutdown } |
All possible events for IO hooks. | |
Public Member Functions | |
hook (actor_system &sys) | |
virtual void | message_received_cb (const node_id &source, const strong_actor_ptr &from, const strong_actor_ptr &dest, message_id mid, const message &msg) |
Called whenever a message has arrived via the network. | |
virtual void | message_sent_cb (const strong_actor_ptr &from, const node_id &hop, const strong_actor_ptr &dest, message_id mid, const message &payload) |
Called whenever a message has been sent to the network. More... | |
virtual void | message_sending_failed_cb (const strong_actor_ptr &from, const strong_actor_ptr &dest, message_id mid, const message &payload) |
Called whenever no route for sending a message exists. | |
virtual void | message_forwarded_cb (const basp::header &hdr, const std::vector< char > *payload) |
Called whenever a message is forwarded to a different node. | |
virtual void | message_forwarding_failed_cb (const basp::header &hdr, const std::vector< char > *payload) |
Called whenever no route for a forwarding request exists. | |
virtual void | actor_published_cb (const strong_actor_ptr &addr, const std::set< std::string > &ifs, uint16_t port) |
Called whenever an actor has been published. | |
virtual void | new_remote_actor_cb (const strong_actor_ptr &addr) |
Called whenever a new remote actor appeared. | |
virtual void | new_connection_established_cb (const node_id &node) |
Called whenever a handshake via a direct TCP connection succeeded. | |
virtual void | new_route_added_cb (const node_id &via, const node_id &node) |
Called whenever a message from or to a yet unknown node was received. More... | |
virtual void | connection_lost_cb (const node_id &dest) |
Called whenever a direct connection was lost. | |
virtual void | route_lost_cb (const node_id &hop, const node_id &dest) |
Called whenever a route became unavailable. More... | |
virtual void | invalid_message_received_cb (const node_id &source, const strong_actor_ptr &sender, actor_id invalid_dest, message_id mid, const message &msg) |
Called whenever a message was discarded because a remote node tried to send a message to an actor ID that could not be found in the registry. More... | |
virtual void | before_shutdown_cb () |
Called before middleman shuts down. | |
template<event_type Event, typename... Ts> | |
void | handle (Ts &&... ts) |
Handles an event by invoking the associated callback. | |
actor_system & | system () const |
Related Functions | |
(Note that these are not member functions.) | |
using | hook_uptr = std::unique_ptr< hook > |
Interface to define hooks into the IO layer.
|
virtual |
Called whenever a message was discarded because a remote node tried to send a message to an actor ID that could not be found in the registry.
|
virtual |
Called whenever a message has been sent to the network.
from | The address of the sending actor. |
hop | The node in the network we've sent the message to. |
dest | The address of the receiving actor. Note that the node ID of dest can differ from hop in case we don't have a direct connection to dest_node . |
mid | The ID of the message. |
payload | The message we've sent. |
|
virtual |
Called whenever a message from or to a yet unknown node was received.
via | The node that has sent us the message. |
node | The newly added entry to the routing table. |
Called whenever a route became unavailable.
hop | The node that was either disconnected or lost a connection itself. |
dest | The node that is no longer reachable via hop . |