RTT::mqueue::Dispatcher Class Reference

#include <Dispatcher.hpp>

Inheritance diagram for RTT::mqueue::Dispatcher:
Inheritance graph
[legend]

List of all members.

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 DispatcherDispatchI = 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)

Detailed Description

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.


Member Typedef Documentation

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]
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

Constructor & Destructor Documentation

RTT::mqueue::Dispatcher::Dispatcher ( const std::string &  name  )  [inline, private]
RTT::mqueue::Dispatcher::~Dispatcher (  )  [inline, private]
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.


Member Function Documentation

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]
bool RTT::mqueue::Dispatcher::breakLoop (  )  [inline, virtual]
See also:
base::RunnableInterface::breakLoop()

Reimplemented from RTT::Activity.

Definition at line 208 of file rtt/transports/mqueue/Dispatcher.hpp.

bool RTT::mqueue::Dispatcher::breakLoop (  )  [inline, virtual]
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]
bool RTT::mqueue::Dispatcher::initialize (  )  [inline, virtual]
See also:
base::RunnableInterface::initialize()

Reimplemented from RTT::Activity.

Definition at line 166 of file rtt/transports/mqueue/Dispatcher.hpp.

bool RTT::mqueue::Dispatcher::initialize (  )  [inline, virtual]
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]
void RTT::mqueue::Dispatcher::loop (  )  [inline, virtual]
See also:
base::RunnableInterface::loop()

Reimplemented from RTT::Activity.

Definition at line 171 of file rtt/transports/mqueue/Dispatcher.hpp.

void RTT::mqueue::Dispatcher::loop (  )  [inline, virtual]
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]
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]

Friends And Related Function Documentation

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]

Member Data Documentation

static Dispatcher * RTT::mqueue::Dispatcher::DispatchI = 0 [static, private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Jan 11 09:50:09 2013