#include <Dispatcher.hpp>
Public Types | |
typedef boost::intrusive_ptr < Dispatcher > | shared_ptr |
typedef boost::intrusive_ptr < Dispatcher > | shared_ptr |
Public Member Functions | |
void | addQueue (mqd_t mqdes, base::ChannelElementBase *chan) |
void | addQueue (mqd_t mqdes, base::ChannelElementBase *chan) |
bool | breakLoop () |
bool | breakLoop () |
bool | initialize () |
bool | initialize () |
void | loop () |
void | loop () |
void | removeQueue (mqd_t mqdes) |
void | removeQueue (mqd_t mqdes) |
Static Public Member Functions | |
static Dispatcher::shared_ptr | Instance () |
static Dispatcher::shared_ptr | Instance () |
Private Types | |
typedef std::map< mqd_t, base::ChannelElementBase * > | MQMap |
typedef std::map< mqd_t, base::ChannelElementBase * > | MQMap |
Private Member Functions | |
void | build_select_list () |
void | build_select_list () |
Dispatcher (const std::string &name) | |
Dispatcher (const std::string &name) | |
void | read_socks () |
void | read_socks () |
~Dispatcher () | |
~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_add_ref (const RTT::mqueue::Dispatcher *p) |
void | intrusive_ptr_release (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 install/include/rtt/transports/mqueue/Dispatcher.hpp.
typedef std::map<mqd_t,base::ChannelElementBase*> RTT::mqueue::Dispatcher::MQMap [private] |
Definition at line 69 of file rtt/transports/mqueue/Dispatcher.hpp.
typedef std::map<mqd_t,base::ChannelElementBase*> RTT::mqueue::Dispatcher::MQMap [private] |
Definition at line 69 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
typedef boost::intrusive_ptr<Dispatcher> RTT::mqueue::Dispatcher::shared_ptr |
Reimplemented from RTT::base::ActivityInterface.
Definition at line 132 of file rtt/transports/mqueue/Dispatcher.hpp.
typedef boost::intrusive_ptr<Dispatcher> RTT::mqueue::Dispatcher::shared_ptr |
Reimplemented from RTT::base::ActivityInterface.
Definition at line 132 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
RTT::mqueue::Dispatcher::Dispatcher | ( | const std::string & | name | ) | [inline, private] |
Definition at line 80 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
RTT::mqueue::Dispatcher::~Dispatcher | ( | ) | [inline, private] |
Definition at line 85 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
RTT::mqueue::Dispatcher::Dispatcher | ( | const std::string & | name | ) | [inline, private] |
Definition at line 80 of file rtt/transports/mqueue/Dispatcher.hpp.
RTT::mqueue::Dispatcher::~Dispatcher | ( | ) | [inline, private] |
Definition at line 85 of file rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::addQueue | ( | mqd_t | mqdes, | |
base::ChannelElementBase * | chan | |||
) | [inline] |
Definition at line 142 of file rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::addQueue | ( | mqd_t | mqdes, | |
base::ChannelElementBase * | chan | |||
) | [inline] |
Definition at line 142 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
bool RTT::mqueue::Dispatcher::breakLoop | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 208 of file rtt/transports/mqueue/Dispatcher.hpp.
bool RTT::mqueue::Dispatcher::breakLoop | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 208 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::build_select_list | ( | ) | [inline, private] |
Definition at line 92 of file rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::build_select_list | ( | ) | [inline, private] |
Definition at line 92 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
bool RTT::mqueue::Dispatcher::initialize | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 166 of file rtt/transports/mqueue/Dispatcher.hpp.
bool RTT::mqueue::Dispatcher::initialize | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 166 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
static Dispatcher::shared_ptr RTT::mqueue::Dispatcher::Instance | ( | ) | [inline, static] |
Definition at line 134 of file rtt/transports/mqueue/Dispatcher.hpp.
static Dispatcher::shared_ptr RTT::mqueue::Dispatcher::Instance | ( | ) | [inline, static] |
Definition at line 134 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::loop | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 171 of file rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::loop | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 171 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::read_socks | ( | ) | [inline, private] |
Definition at line 116 of file rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::read_socks | ( | ) | [inline, private] |
Definition at line 116 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::removeQueue | ( | mqd_t | mqdes | ) | [inline] |
Definition at line 156 of file rtt/transports/mqueue/Dispatcher.hpp.
void RTT::mqueue::Dispatcher::removeQueue | ( | mqd_t | mqdes | ) | [inline] |
Definition at line 156 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
void intrusive_ptr_add_ref | ( | const RTT::mqueue::Dispatcher * | p | ) | [friend] |
void intrusive_ptr_add_ref | ( | const RTT::mqueue::Dispatcher * | p | ) | [friend] |
void intrusive_ptr_release | ( | const RTT::mqueue::Dispatcher * | p | ) | [friend] |
void intrusive_ptr_release | ( | const RTT::mqueue::Dispatcher * | p | ) | [friend] |
static Dispatcher * RTT::mqueue::Dispatcher::DispatchI = 0 [static, private] |
Definition at line 67 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
bool RTT::mqueue::Dispatcher::do_exit [private] |
Definition at line 76 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
int RTT::mqueue::Dispatcher::highsock [private] |
Definition at line 74 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
os::Mutex RTT::mqueue::Dispatcher::maplock [private] |
Definition at line 78 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
MQMap RTT::mqueue::Dispatcher::mqmap [private] |
Definition at line 70 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
os::AtomicInt RTT::mqueue::Dispatcher::refcount [mutable, private] |
Definition at line 66 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.
fd_set RTT::mqueue::Dispatcher::socks [private] |
Definition at line 72 of file install/include/rtt/transports/mqueue/Dispatcher.hpp.