|
libcaf
0.13.2
|
Base class for all actor implementations. More...
#include <abstract_actor.hpp>
Public Member Functions | |
| 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. | |
Public Member Functions inherited from caf::abstract_channel | |
| virtual void | enqueue (const actor_addr &sender, message_id mid, message content, execution_unit *host)=0 |
| Enqueues a new message to the 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_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 |
Public Member Functions inherited from caf::memory_managed | |
| virtual void | request_deletion (bool decremented_rc) noexcept |
| 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... | |
Protected Member Functions | |
| 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) |
Related Functions | |
(Note that these are not member functions.) | |
| using | actor_id = uint32_t |
| A unique actor ID. | |
Related Functions inherited from caf::ref_counted | |
| void | intrusive_ptr_add_ref (ref_counted *p) |
| void | intrusive_ptr_release (ref_counted *p) |
Additional Inherited Members | |
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 Attributes inherited from caf::ref_counted | |
| std::atomic< size_t > | rc_ |
Base class for all actor implementations.
| void caf::abstract_actor::attach | ( | attachable_ptr | ptr | ) |
Attaches ptr to this actor.
The actor will call ptr->detach(...) on exit, or immediately if it already finished execution.
| void caf::abstract_actor::attach_functor | ( | F | f | ) |
Convenience function that attaches the functor f to this actor.
The actor executes f() on exit or immediatley if it is not running.
|
protected |
Called by the runtime system to perform cleanup actions for this actor.
Subtypes should always call this member function when overriding it.
| bool caf::abstract_actor::establish_backlink | ( | const actor_addr & | other | ) |
Establishes a link relation between this actor and other and returns whether the operation succeeded.
| uint32_t caf::abstract_actor::exit_reason | ( | ) | const |
Returns the actor's exit reason or exit_reason::not_exited if it's still alive.
| execution_unit* caf::abstract_actor::host | ( | ) | const |
Returns the execution unit currently used by this actor.
|
virtual |
Returns the set of accepted messages types as strings or an empty set if this actor is untyped.
Reimplemented in caf::typed_event_based_actor< Sigs >.
| bool caf::abstract_actor::remove_backlink | ( | const actor_addr & | other | ) |
Removes the link relation between this actor and other and returns whether the operation succeeded.
1.8.9.1