libcaf  0.13.2
Public Member Functions | List of all members
caf::forwarding_actor_proxy Class Reference

Implements a simple proxy forwarding all operations to a manager. More...

#include <forwarding_actor_proxy.hpp>

Inheritance diagram for caf::forwarding_actor_proxy:
caf::actor_proxy caf::abstract_actor caf::abstract_channel caf::ref_counted caf::memory_managed

Public Member Functions

 forwarding_actor_proxy (actor_id mid, node_id pinfo, actor parent)
 
void enqueue (const actor_addr &, message_id, message, execution_unit *) override
 Enqueues a new message to the channel.
 
bool link_impl (linking_operation op, const actor_addr &other) override
 
void local_link_to (const actor_addr &other) override
 Establishes a local link state that's not synchronized back to the remote instance. More...
 
void local_unlink_from (const actor_addr &other) override
 Removes a local link state.
 
void kill_proxy (uint32_t reason) override
 Invokes cleanup code.
 
actor manager () const
 
void manager (actor new_manager)
 
- Public Member Functions inherited from caf::actor_proxy
void request_deletion (bool decremented_ref_count) noexceptoverride
 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...
 
anchor_ptr get_anchor ()
 
- Public Member Functions inherited from caf::abstract_actor
void attach (attachable_ptr ptr)
 Attaches ptr to this actor. More...
 
template<class F >
void attach_functor (F f)
 Convenience function that attaches the functor f to this actor. More...
 
actor_addr address () const
 Returns the logical actor address.
 
size_t detach (const attachable::token &what)
 Detaches the first attached object that matches what.
 
void link_to (const actor_addr &whom)
 Links this actor to whom.
 
template<class ActorHandle >
void link_to (const ActorHandle &whom)
 Links this actor to whom.
 
void unlink_from (const actor_addr &other)
 Unlinks this actor from whom.
 
template<class ActorHandle >
void unlink_from (const ActorHandle &other)
 Unlinks this actor from whom.
 
bool establish_backlink (const actor_addr &other)
 Establishes a link relation between this actor and other and returns whether the operation succeeded. More...
 
bool remove_backlink (const actor_addr &other)
 Removes the link relation between this actor and other and returns whether the operation succeeded. More...
 
uint32_t id () const
 Returns the unique ID of this actor.
 
uint32_t exit_reason () const
 Returns the actor's exit reason or exit_reason::not_exited if it's still alive. More...
 
virtual std::set< std::string > message_types () const
 Returns the set of accepted messages types as strings or an empty set if this actor is untyped. More...
 
execution_unithost () const
 Returns the execution unit currently used by this actor. More...
 
void host (execution_unit *new_host)
 Sets the execution unit for this actor.
 
- Public Member Functions inherited from caf::abstract_channel
virtual void enqueue (mailbox_element_ptr what, execution_unit *host)
 Enqueues a new message wrapped in a mailbox_element to the channel. More...
 
node_id node () const
 Returns the ID of the node this actor is running on.
 
bool is_remote () const
 Returns true if node_ptr returns.
 
bool is_abstract_actor () const
 
bool is_abstract_group () const
 
- 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
 

Additional Inherited Members

- Public Types inherited from caf::actor_proxy
using anchor_ptr = intrusive_ptr< anchor >
 
- Static Public Attributes inherited from caf::abstract_channel
static constexpr int is_abstract_actor_flag = 0x100000
 
static constexpr int is_abstract_group_flag = 0x200000
 
- Protected Member Functions inherited from caf::actor_proxy
 actor_proxy (actor_id aid, node_id nid)
 
- Protected Member Functions inherited from caf::abstract_actor
 abstract_actor ()
 Creates a non-proxy instance.
 
 abstract_actor (actor_id aid, node_id nid)
 Creates a proxy instance for a proxy running on nid.
 
void cleanup (uint32_t reason)
 Called by the runtime system to perform cleanup actions for this actor. More...
 
bool exited () const
 Returns exit_reason() != exit_reason::not_exited.
 
- Protected Member Functions inherited from caf::abstract_channel
int flags () const
 
void flags (int new_value)
 
- Protected Attributes inherited from caf::actor_proxy
anchor_ptr anchor_
 
- Protected Attributes inherited from caf::ref_counted
std::atomic< size_t > rc_
 

Detailed Description

Implements a simple proxy forwarding all operations to a manager.

Member Function Documentation

void caf::forwarding_actor_proxy::local_link_to ( const actor_addr other)
overridevirtual

Establishes a local link state that's not synchronized back to the remote instance.

Implements caf::actor_proxy.


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