CAF 0.17.6
|
Implements a simple proxy forwarding all operations to a manager. More...
#include <forwarding_actor_proxy.hpp>
Public Types | |
using | forwarding_stack = std::vector< strong_actor_ptr > |
Public Member Functions | |
forwarding_actor_proxy (actor_config &cfg, actor dest) | |
void | enqueue (mailbox_element_ptr what, execution_unit *context) override |
Enqueues a new message wrapped in a mailbox_element to the actor. | |
bool | add_backlink (abstract_actor *x) override |
bool | remove_backlink (abstract_actor *x) override |
void | kill_proxy (execution_unit *ctx, error rsn) override |
Invokes cleanup code. | |
![]() | |
actor_proxy (actor_config &cfg) | |
![]() | |
virtual const char * | name () const |
Returns an implementation-dependent name for logging purposes, which is only valid as long as the actor is running. | |
void | attach (attachable_ptr ptr) override |
Attaches ptr to this actor. | |
size_t | detach (const attachable::token &what) override |
Detaches the first attached object that matches what . | |
void | link_to (const actor_addr &x) |
Links this actor to x . | |
template<class ActorHandle > | |
void | link_to (const ActorHandle &x) |
Links this actor to x . | |
void | unlink_from (const actor_addr &x) |
Unlinks this actor from x . | |
template<class ActorHandle > | |
void | unlink_from (const ActorHandle &x) |
Links this actor to x . | |
![]() | |
void * | operator new (std::size_t, void *ptr) |
actor_control_block * | ctrl () const |
virtual void | on_destroy () |
Cleans up any remaining state before the destructor is called. | |
void | enqueue (strong_actor_ptr sender, message_id mid, message msg, execution_unit *host) override |
Enqueues a new message without forwarding stack to the channel. | |
template<class F > | |
void | attach_functor (F f) |
Convenience function that attaches the functor f to this actor. | |
actor_addr | address () const |
Returns the logical actor address. | |
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. | |
actor_id | id () const noexcept |
Returns the ID of this actor. | |
node_id | node () const noexcept |
Returns the node this actor is living on. | |
actor_system & | home_system () const noexcept |
Returns the system that created this actor (or proxy). | |
![]() | |
bool | is_abstract_actor () const |
bool | is_abstract_group () const |
bool | is_actor_decorator () const |
Additional Inherited Members | |
![]() | |
static constexpr int | is_abstract_actor_flag = 0x01000000 |
static constexpr int | is_abstract_group_flag = 0x02000000 |
static constexpr int | is_actor_bind_decorator_flag = 0x04000000 |
static constexpr int | is_actor_dot_decorator_flag = 0x08000000 |
static constexpr int | is_actor_decorator_mask = 0x0C000000 |
static constexpr int | is_hidden_flag = 0x10000000 |
![]() | |
virtual void | on_cleanup (const error &reason) |
Allows subclasses to add additional cleanup code to the critical secion in cleanup . | |
void | bounce (mailbox_element_ptr &what) |
Sends a response message if what is a request. | |
void | bounce (mailbox_element_ptr &what, const error &err) |
Sends a response message if what is a request. | |
monitorable_actor (actor_config &cfg) | |
Creates a new actor instance. | |
void | attach_impl (attachable_ptr &ptr) |
size_t | detach_impl (const attachable::token &what, bool stop_on_hit=false, bool dry_run=false) |
bool | handle_system_message (mailbox_element &x, execution_unit *ctx, bool trap_exit) |
template<class F > | |
bool | handle_system_message (mailbox_element &x, execution_unit *context, bool trap_exit, F &down_msg_handler) |
![]() | |
abstract_actor (actor_config &cfg) | |
Creates a new actor instance. | |
![]() | |
int | flags () const |
void | flags (int new_value) |
![]() | |
error | fail_state_ |
std::condition_variable | cv_ |
attachable_ptr | attachables_head_ |
![]() | |
std::mutex | mtx_ |
![]() | |
using | actor_id = uint64_t |
A unique actor ID. | |
Implements a simple proxy forwarding all operations to a manager.
|
overridevirtual |
Enqueues a new message wrapped in a mailbox_element
to the actor.
This enqueue
variant allows to define forwarding chains.
Implements caf::abstract_actor.
|
overridevirtual |
Invokes cleanup code.
Implements caf::actor_proxy.