|
| impl (group_module_ptr mod, std::string id, node_id origin) |
|
| impl (group_module_ptr mod, std::string id) |
|
bool | enqueue (strong_actor_ptr sender, message_id mid, message content, execution_unit *host) override |
| Enqueues a new message without forwarding stack to the channel.
|
|
bool | subscribe (strong_actor_ptr who) override |
| Subscribes who to this group and returns true on success or false if who is already subscribed.
|
|
void | unsubscribe (const actor_control_block *who) override |
| Unsubscribes who from this group.
|
|
actor | intermediary () const noexcept override |
| Returns the intermediary actor for the group if applicable.
|
|
void | stop () override |
| Stops any background actors or threads and IO handles.
|
|
virtual bool | subscribe (strong_actor_ptr who)=0 |
| Subscribes who to this group and returns true on success or false if who is already subscribed.
|
|
virtual void | unsubscribe (const actor_control_block *who)=0 |
| Unsubscribes who from this group.
|
|
virtual void | stop ()=0 |
| Stops any background actors or threads and IO handles.
|
|
actor_system & | system () const noexcept |
| Returns the hosting system.
|
|
group_module & | module () const noexcept |
| Returns the parent module.
|
|
node_id | origin () const noexcept |
| Returns the origin node of the group if applicable.
|
|
const std::string & | identifier () const |
| Returns a string representation of the group identifier, e.g., "224.0.0.1" for IPv4 multicast or a user-defined string for local groups.
|
|
virtual std::string | stringify () const |
| Returns a human-readable string representation of the group ID.
|
|
virtual actor | intermediary () const noexcept |
| Returns the intermediary actor for the group if applicable.
|
|
| ref_counted (const ref_counted &) |
|
ref_counted & | operator= (const ref_counted &) |
|
void | ref () const noexcept |
| Increases reference count by one.
|
|
void | deref () const noexcept |
| Decreases reference count by one and calls request_deletion when it drops to zero.
|
|
bool | unique () const noexcept |
| Queries whether there is exactly one reference.
|
|
size_t | get_reference_count () const noexcept |
|
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 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 |
|
template<class T , class... Ts> |
intrusive_cow_ptr< T > | make_copy_on_write (Ts &&... xs) |
| Constructs an object of type T in an intrusive_cow_ptr .
|
|
template<class T , class... Ts> |
intrusive_ptr< T > | make_counted (Ts &&... xs) |
| Constructs an object of type T in an intrusive_ptr .
|
|
void | intrusive_ptr_add_ref (const ref_counted *p) |
|
void | intrusive_ptr_release (const ref_counted *p) |
|
Implementation of the group interface for instances of this module.