libcaf  0.15.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 bool subscribe (strong_actor_ptr who)=0
 Subscribes who to this group and returns true on success or false if who is already subscribed. More...
 
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. More...
 
- Public Member Functions inherited from caf::ref_counted
 ref_counted (const ref_counted &)
 
ref_countedoperator= (const ref_counted &)
 
void ref () noexcept
 Increases reference count by one.
 
void deref () noexcept
 Decreases reference count by one and calls request_deletion when it drops to zero. More...
 
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) 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
 

Detailed Description

A multicast group.

Member Function Documentation

const std::string& caf::abstract_group::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 bool caf::abstract_group::subscribe ( strong_actor_ptr  who)
pure virtual

Subscribes who to this group and returns true on success or false if who is already subscribed.


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