Fawkes API  Fawkes Development Version
fawkes::GossipGroupManager Class Reference

Abstract class for a Gossip group manager. More...

#include <>>

Public Member Functions

 GossipGroupManager (std::string &service_name, ServicePublisher *service_publisher, std::map< std::string, GossipGroupConfiguration > &initial_groups)
 Constructor. More...
 
virtual ~GossipGroupManager ()
 Destructor. More...
 
virtual RefPtr< GossipGroupjoin_group (const std::string &name)
 Join a group. More...
 
virtual void leave_group (RefPtr< GossipGroup > &group)
 Leave a gossip group. More...
 

Friends

class GossipAspectIniFin
 

Detailed Description

Abstract class for a Gossip group manager.

Author
Tim Niemueller

Definition at line 61 of file gossip_group_manager.h.

Constructor & Destructor Documentation

◆ GossipGroupManager()

fawkes::GossipGroupManager::GossipGroupManager ( std::string &  service_name,
ServicePublisher service_publisher,
std::map< std::string, GossipGroupConfiguration > &  initial_groups 
)

Constructor.

Parameters
service_nameservice name to announce for each group we join, this must be unique in the group and should identify the robot
service_publisherservice discovery publisher to announce groups
initial_groupsinitial group configurations to join

Definition at line 93 of file gossip_group_manager.cpp.

◆ ~GossipGroupManager()

fawkes::GossipGroupManager::~GossipGroupManager ( )
virtual

Destructor.

Definition at line 112 of file gossip_group_manager.cpp.

Member Function Documentation

◆ join_group()

fawkes::RefPtr< fawkes::GossipGroup > fawkes::GossipGroupManager::join_group ( const std::string &  name)
virtual

Join a group.

Parameters
namethe name of the group to join
Returns
a shared object to communicate with the group.

Definition at line 122 of file gossip_group_manager.cpp.

Referenced by fawkes::GossipAspectIniFin::init().

◆ leave_group()

void fawkes::GossipGroupManager::leave_group ( RefPtr< GossipGroup > &  group)
virtual

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