NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
BridgePublisher Class Reference

#include <bridge_publisher.h>

Inheritance diagram for BridgePublisher:
Inheritance graph

Classes

class  AdvertisementInfo
 
class  ContentInfo
 
class  RelayTopicInfo
 

Public Member Functions

virtual ~BridgePublisher ()
 
void setVerbosity (unsigned int verbosity)
 

Protected Member Functions

 BridgePublisher (double ad2pub_delay)
 
bool advertiseTopic (const std::string &output_topic, const AdvertisementInfo &ad_info)
 
bool relayMessage (RelayTopicInfo &topic_info, const ContentInfo &content_info)
 
void drainThread ()
 
bool relayContent (RelayTopicInfo &topic_info, const ContentInfo &content_info)
 
void drainWaitingQueue (RelayTopicInfo &topic_info)
 
void drainWaitingQueue (std::string const &output_topic)
 

Protected Attributes

unsigned int m_verbose_
 
double m_ad2pub_delay_
 
std::mutex m_mutex_
 
std::shared_ptr< std::thread > worker_thread_
 
std::map< std::string, RelayTopicInfom_relay_topics_
 
std::priority_queue< std::pair< timepoint_t, std::string > > m_drain_queue_
 
std::condition_variable m_drain_cv_
 
unsigned int m_n_relayed_
 

Constructor & Destructor Documentation

◆ ~BridgePublisher()

BridgePublisher::~BridgePublisher ( )
virtual

◆ BridgePublisher()

BridgePublisher::BridgePublisher ( double  ad2pub_delay)
explicitprotected

Member Function Documentation

◆ advertiseTopic()

bool BridgePublisher::advertiseTopic ( const std::string &  output_topic,
const AdvertisementInfo ad_info 
)
protected

◆ drainThread()

void BridgePublisher::drainThread ( )
protected

◆ drainWaitingQueue() [1/2]

void BridgePublisher::drainWaitingQueue ( RelayTopicInfo topic_info)
protected

◆ drainWaitingQueue() [2/2]

void BridgePublisher::drainWaitingQueue ( std::string const &  output_topic)
protected

◆ relayContent()

bool BridgePublisher::relayContent ( RelayTopicInfo topic_info,
const ContentInfo content_info 
)
protected

◆ relayMessage()

bool BridgePublisher::relayMessage ( RelayTopicInfo topic_info,
const ContentInfo content_info 
)
protected

◆ setVerbosity()

void BridgePublisher::setVerbosity ( unsigned int  verbosity)

Member Data Documentation

◆ m_ad2pub_delay_

double BridgePublisher::m_ad2pub_delay_
protected

◆ m_drain_cv_

std::condition_variable BridgePublisher::m_drain_cv_
protected

◆ m_drain_queue_

std::priority_queue<std::pair<timepoint_t, std::string> > BridgePublisher::m_drain_queue_
protected

◆ m_mutex_

std::mutex BridgePublisher::m_mutex_
protected

◆ m_n_relayed_

unsigned int BridgePublisher::m_n_relayed_
protected

◆ m_relay_topics_

std::map<std::string, RelayTopicInfo> BridgePublisher::m_relay_topics_
protected

◆ m_verbose_

unsigned int BridgePublisher::m_verbose_
protected

◆ worker_thread_

std::shared_ptr<std::thread> BridgePublisher::worker_thread_
protected

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