libcaf
0.13.2
|
Implements a simple proxy forwarding all operations to a manager. More...
#include <forwarding_actor_proxy.hpp>
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) |
![]() | |
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 () |
![]() | |
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_unit * | host () const |
Returns the execution unit currently used by this actor. More... | |
void | host (execution_unit *new_host) |
Sets the execution unit for this actor. | |
![]() | |
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 |
![]() | |
ref_counted (const ref_counted &) | |
ref_counted & | operator= (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 | |
![]() | |
using | anchor_ptr = intrusive_ptr< anchor > |
![]() | |
static constexpr int | is_abstract_actor_flag = 0x100000 |
static constexpr int | is_abstract_group_flag = 0x200000 |
![]() | |
actor_proxy (actor_id aid, node_id nid) | |
![]() | |
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 . | |
![]() | |
int | flags () const |
void | flags (int new_value) |
![]() | |
anchor_ptr | anchor_ |
![]() | |
std::atomic< size_t > | rc_ |
![]() | |
using | actor_proxy_ptr = intrusive_ptr< actor_proxy > |
A smart pointer to an actor_proxy instance. | |
![]() | |
using | actor_id = uint32_t |
A unique actor ID. | |
![]() | |
void | intrusive_ptr_add_ref (ref_counted *p) |
void | intrusive_ptr_release (ref_counted *p) |
Implements a simple proxy forwarding all operations to a manager.
|
overridevirtual |
Establishes a local link state that's not synchronized back to the remote instance.
Implements caf::actor_proxy.