#include <Dispatcher.hpp>
Public Types | |
typedef boost::intrusive_ptr < Dispatcher > | shared_ptr |
Public Member Functions | |
void | addQueue (mqd_t mqdes, base::ChannelElementBase *chan) |
bool | breakLoop () |
bool | initialize () |
void | loop () |
void | removeQueue (mqd_t mqdes) |
Static Public Member Functions | |
static Dispatcher::shared_ptr | Instance () |
Private Types | |
typedef std::map< mqd_t, base::ChannelElementBase * > | MQMap |
Private Member Functions | |
void | build_select_list () |
Dispatcher (const std::string &name) | |
void | read_socks () |
~Dispatcher () | |
Private Attributes | |
bool | do_exit |
int | highsock |
os::Mutex | maplock |
MQMap | mqmap |
os::AtomicInt | refcount |
fd_set | socks |
Static Private Attributes | |
static Dispatcher * | DispatchI = 0 |
Friends | |
void | intrusive_ptr_add_ref (const RTT::mqueue::Dispatcher *p) |
void | intrusive_ptr_release (const RTT::mqueue::Dispatcher *p) |
This object waits on a set of open message queue file descriptors and signals the channel that has received new data. Reasonably, there should be one dispatcher for each peer component sending us data.
Definition at line 62 of file Dispatcher.hpp.
typedef std::map<mqd_t,base::ChannelElementBase*> RTT::mqueue::Dispatcher::MQMap [private] |
Definition at line 69 of file Dispatcher.hpp.
typedef boost::intrusive_ptr<Dispatcher> RTT::mqueue::Dispatcher::shared_ptr |
Reimplemented from RTT::base::ActivityInterface.
Definition at line 132 of file Dispatcher.hpp.
RTT::mqueue::Dispatcher::Dispatcher | ( | const std::string & | name | ) | [inline, private] |
Definition at line 80 of file Dispatcher.hpp.
RTT::mqueue::Dispatcher::~Dispatcher | ( | ) | [inline, private] |
Definition at line 85 of file Dispatcher.hpp.
void RTT::mqueue::Dispatcher::addQueue | ( | mqd_t | mqdes, |
base::ChannelElementBase * | chan | ||
) | [inline] |
Definition at line 142 of file Dispatcher.hpp.
bool RTT::mqueue::Dispatcher::breakLoop | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 208 of file Dispatcher.hpp.
void RTT::mqueue::Dispatcher::build_select_list | ( | ) | [inline, private] |
Definition at line 92 of file Dispatcher.hpp.
bool RTT::mqueue::Dispatcher::initialize | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 166 of file Dispatcher.hpp.
static Dispatcher::shared_ptr RTT::mqueue::Dispatcher::Instance | ( | ) | [inline, static] |
Definition at line 134 of file Dispatcher.hpp.
void RTT::mqueue::Dispatcher::loop | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 171 of file Dispatcher.hpp.
void RTT::mqueue::Dispatcher::read_socks | ( | ) | [inline, private] |
Definition at line 116 of file Dispatcher.hpp.
void RTT::mqueue::Dispatcher::removeQueue | ( | mqd_t | mqdes | ) | [inline] |
Definition at line 156 of file Dispatcher.hpp.
void intrusive_ptr_add_ref | ( | const RTT::mqueue::Dispatcher * | p | ) | [friend] |
Definition at line 45 of file Dispatcher.cpp.
void intrusive_ptr_release | ( | const RTT::mqueue::Dispatcher * | p | ) | [friend] |
Definition at line 48 of file Dispatcher.cpp.
Dispatcher * RTT::mqueue::Dispatcher::DispatchI = 0 [static, private] |
Definition at line 67 of file Dispatcher.hpp.
bool RTT::mqueue::Dispatcher::do_exit [private] |
Definition at line 76 of file Dispatcher.hpp.
int RTT::mqueue::Dispatcher::highsock [private] |
Definition at line 74 of file Dispatcher.hpp.
os::Mutex RTT::mqueue::Dispatcher::maplock [private] |
Definition at line 78 of file Dispatcher.hpp.
MQMap RTT::mqueue::Dispatcher::mqmap [private] |
Definition at line 70 of file Dispatcher.hpp.
os::AtomicInt RTT::mqueue::Dispatcher::refcount [mutable, private] |
Definition at line 66 of file Dispatcher.hpp.
fd_set RTT::mqueue::Dispatcher::socks [private] |
Definition at line 72 of file Dispatcher.hpp.