C++ Actor Framework 0.19
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
caf::abstract_channel Class Referenceabstract

Interface for all message receivers. More...

#include <abstract_channel.hpp>

Inheritance diagram for caf::abstract_channel:
caf::abstract_actor caf::abstract_group caf::monitorable_actor caf::detail::local_group_module::impl caf::actor_pool caf::actor_proxy caf::decorator::sequencer caf::local_actor caf::detail::group_tunnel caf::forwarding_actor_proxy caf::actor_companion caf::blocking_actor caf::io::typed_broker< Sigs > caf::typed_event_based_actor< Sigs >

Public Member Functions

virtual bool enqueue (strong_actor_ptr sender, message_id mid, message content, execution_unit *host=nullptr)=0
 Enqueues a new message without forwarding stack to the channel.
bool is_abstract_actor () const
bool is_abstract_group () const
bool is_actor_decorator () const

Static Public Attributes

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

int flags () const
void flags (int new_value)


class abstract_actor
class abstract_group

Detailed Description

Interface for all message receivers.

Member Function Documentation

◆ enqueue()

virtual bool caf::abstract_channel::enqueue ( strong_actor_ptr  sender,
message_id  mid,
message  content,
execution_unit host = nullptr 
pure virtual

Enqueues a new message without forwarding stack to the channel.

true if the message has been dispatches successful, false otherwise. In the latter case, the channel has been closed and the message has been dropped. Once this function returns false, it returns false for all future invocations.

Implemented in caf::detail::group_tunnel, caf::detail::local_group_module::impl, caf::abstract_actor, and caf::actor_companion.

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