C++ Actor Framework 1.0.0
Loading...
Searching...
No Matches
caf::io::basp::instance::callee Class Referenceabstract

Provides a callback-based interface for certain BASP events. More...

#include <instance.hpp>

Inheritance diagram for caf::io::basp::instance::callee:
caf::io::basp_broker

Public Member Functions

 callee (actor_system &sys, proxy_registry::backend &backend)
 
virtual void finalize_handshake (const node_id &nid, actor_id aid, std::set< std::string > &sigs)=0
 Called if a server handshake was received and the connection to nid is established.
 
virtual void purge_state (const node_id &nid)=0
 Called whenever a direct connection was closed or a node became unreachable for other reasons before this node gets erased from the routing table.
 
virtual void proxy_announced (const node_id &nid, actor_id aid)=0
 Called whenever a remote node created a proxy for one of our local actors.
 
virtual void learned_new_node_directly (const node_id &nid, bool was_known_indirectly)=0
 Called whenever BASP learns the ID of a remote node to which it does not have a direct connection.
 
virtual void learned_new_node_indirectly (const node_id &nid)=0
 Called whenever BASP learns the ID of a remote node to which it does not have a direct connection.
 
virtual void handle_heartbeat ()=0
 Called if a heartbeat was received from nid
 
virtual schedulercurrent_scheduler ()=0
 Returns the current CAF scheduler context.
 
proxy_registryproxies ()
 Returns the actor namespace associated to this BASP protocol instance.
 
virtual byte_bufferget_buffer (connection_handle hdl)=0
 Returns a reference to the sent buffer.
 
virtual void flush (connection_handle hdl)=0
 Flushes the underlying write buffer of hdl.
 
virtual strong_actor_ptr this_actor ()=0
 Returns a handle to the callee actor.
 

Protected Attributes

proxy_registry namespace_
 

Detailed Description

Provides a callback-based interface for certain BASP events.

Member Function Documentation

◆ current_scheduler()

virtual scheduler * caf::io::basp::instance::callee::current_scheduler ( )
pure virtual

Returns the current CAF scheduler context.

Implemented in caf::io::basp_broker.

◆ finalize_handshake()

virtual void caf::io::basp::instance::callee::finalize_handshake ( const node_id & nid,
actor_id aid,
std::set< std::string > & sigs )
pure virtual

Called if a server handshake was received and the connection to nid is established.

Implemented in caf::io::basp_broker.

◆ flush()

virtual void caf::io::basp::instance::callee::flush ( connection_handle hdl)
pure virtual

Flushes the underlying write buffer of hdl.

Implemented in caf::io::basp_broker.

◆ get_buffer()

virtual byte_buffer & caf::io::basp::instance::callee::get_buffer ( connection_handle hdl)
pure virtual

Returns a reference to the sent buffer.

Implemented in caf::io::basp_broker.

◆ handle_heartbeat()

virtual void caf::io::basp::instance::callee::handle_heartbeat ( )
pure virtual

Called if a heartbeat was received from nid

Implemented in caf::io::basp_broker.

◆ learned_new_node_directly()

virtual void caf::io::basp::instance::callee::learned_new_node_directly ( const node_id & nid,
bool was_known_indirectly )
pure virtual

Called whenever BASP learns the ID of a remote node to which it does not have a direct connection.

Implemented in caf::io::basp_broker.

◆ learned_new_node_indirectly()

virtual void caf::io::basp::instance::callee::learned_new_node_indirectly ( const node_id & nid)
pure virtual

Called whenever BASP learns the ID of a remote node to which it does not have a direct connection.

Implemented in caf::io::basp_broker.

◆ proxy_announced()

virtual void caf::io::basp::instance::callee::proxy_announced ( const node_id & nid,
actor_id aid )
pure virtual

Called whenever a remote node created a proxy for one of our local actors.

Implemented in caf::io::basp_broker.

◆ purge_state()

virtual void caf::io::basp::instance::callee::purge_state ( const node_id & nid)
pure virtual

Called whenever a direct connection was closed or a node became unreachable for other reasons before this node gets erased from the routing table.

Warning
The implementing class must not modify the routing table from this callback.

Implemented in caf::io::basp_broker.

◆ this_actor()

virtual strong_actor_ptr caf::io::basp::instance::callee::this_actor ( )
pure virtual

Returns a handle to the callee actor.

Implemented in caf::io::basp_broker.


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