Loading...
Searching...
No Matches
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:

## 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.
Public Member Functions inherited from caf::actor_proxy
| actor_proxy (actor_config &cfg)
Public Member Functions inherited from caf::monitorable_actor
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.
Public Member Functions inherited from caf::abstract_actor
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).
Public Member Functions inherited from caf::abstract_channel
bool | is_abstract_actor () const
bool | is_abstract_group () const
bool | is_actor_decorator () const

## Additional Inherited Members

Static Public Attributes inherited from caf::abstract_channel
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
Protected Member Functions inherited from caf::monitorable_actor
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)
Protected Member Functions inherited from caf::abstract_actor
| abstract_actor (actor_config &cfg)
| Creates a new actor instance.
Protected Member Functions inherited from caf::abstract_channel
int | flags () const
void | flags (int new_value)
Protected Attributes inherited from caf::monitorable_actor
error | fail_state_
std::condition_variable | cv_
attachable_ptr | attachables_head_
Protected Attributes inherited from caf::abstract_actor
std::mutex | mtx_
Related Symbols inherited from caf::abstract_actor
using | actor_id = uint64_t
| A unique actor ID.

## Detailed Description

Implements a simple proxy forwarding all operations to a manager.

## Member Function Documentation

## enqueue()

void caf::forwarding_actor_proxy::enqueue | ( | mailbox_element_ptr | what,
|  | execution_unit * | host )

override virtual

Enqueues a new message wrapped in a mailbox_element to the actor.

This enqueue variant allows to define forwarding chains.

Implements caf::abstract_actor.

## kill_proxy()

void caf::forwarding_actor_proxy::kill_proxy | ( | execution_unit * | ctx,
|  | error | reason )

override virtual

Invokes cleanup code.

Implements caf::actor_proxy.

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

- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_core/caf/forwarding_actor_proxy.hpp