CAF  0.17.2
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 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., "224.0.0.1" 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 overriden 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

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

Friends

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: