A collection of PubQueue objects, potentially of different types. This class is the programmer's interface to this queuing system.
More...
#include <PubQueue.h>
A collection of PubQueue objects, potentially of different types. This class is the programmer's interface to this queuing system.
Definition at line 96 of file PubQueue.h.
PubMultiQueue::PubMultiQueue |
( |
| ) |
|
|
inline |
PubMultiQueue::~PubMultiQueue |
( |
| ) |
|
|
inline |
Add a new queue. Call this once for each published topic (or at least each type of publish message).
- Returns
- Pointer to the newly created queue, good for calling push() on.
Definition at line 143 of file PubQueue.h.
void PubMultiQueue::notifyServiceThread |
( |
| ) |
|
|
inline |
Wake up the queue serive thread (e.g., after having pushed a message onto one of the queues).
Definition at line 189 of file PubQueue.h.
Service a given queue by popping outgoing message off it and publishing them.
Definition at line 115 of file PubQueue.h.
void PubMultiQueue::spin |
( |
| ) |
|
|
inline |
Service all queues indefinitely, waiting on a condition variable in between cycles.
Definition at line 170 of file PubQueue.h.
void PubMultiQueue::spinOnce |
( |
| ) |
|
|
inline |
Service each queue one time.
Definition at line 157 of file PubQueue.h.
void PubMultiQueue::startServiceThread |
( |
| ) |
|
|
inline |
Condition variable used to block and resume service_thread_.
Definition at line 108 of file PubQueue.h.
boost::mutex PubMultiQueue::service_cond_var_lock_ |
|
private |
Mutex to accompany service_cond_var_.
Definition at line 110 of file PubQueue.h.
std::list<boost::function<void()> > PubMultiQueue::service_funcs_ |
|
private |
List of functions to be called to service our queues.
Definition at line 100 of file PubQueue.h.
boost::mutex PubMultiQueue::service_funcs_lock_ |
|
private |
Mutex to lock access to service_funcs_.
Definition at line 102 of file PubQueue.h.
boost::thread PubMultiQueue::service_thread_ |
|
private |
If started, the thread that will call the service functions.
Definition at line 104 of file PubQueue.h.
bool PubMultiQueue::service_thread_running_ |
|
private |
The documentation for this class was generated from the following file: