CAF  0.17.3
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
caf::abstract_group Class Referenceabstract

A multicast group. More...

#include <abstract_group.hpp>

Inheritance diagram for caf::abstract_group:
caf::ref_counted caf::abstract_channel caf::memory_managed

Public Member Functions

virtual error save (serializer &sink) const =0
 Serialize this group to sink.
virtual error_code< secsave (binary_serializer &sink) const =0
 Serialize this group to sink.
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.
group_modulemodule () const
 Returns the parent module.
actor_systemsystem () const
 Returns the hosting system.
const std::string & identifier () const
 Returns a string representation of the group identifier, e.g., "" for IPv4 multicast or a user-defined string for local groups.
- Public Member Functions inherited from caf::ref_counted
 ref_counted (const ref_counted &)
ref_countedoperator= (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
- Public Member Functions inherited from caf::memory_managed
virtual void request_deletion (bool decremented_rc) const noexcept
 Default implementations calls `delete this, but can be overridden in case deletion depends on some condition or the class doesn't use default new/delete. More...
- Public Member Functions inherited from caf::abstract_channel
virtual void 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

Protected Member Functions

 abstract_group (group_module &mod, std::string id, node_id nid)
- Protected Member Functions inherited from caf::abstract_channel
int flags () const
void flags (int new_value)

Protected Attributes

std::string identifier_
node_id origin_
- Protected Attributes inherited from caf::ref_counted
std::atomic< size_t > rc_


class local_actor
class subscription
class detail::group_manager

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

Detailed Description

A multicast group.

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