Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends
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

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

Friends

void intrusive_ptr_add_ref (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 Dispatcher.hpp.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

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]
See also:
base::RunnableInterface::breakLoop()

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]
See also:
base::RunnableInterface::initialize()

Reimplemented from RTT::Activity.

Definition at line 166 of file Dispatcher.hpp.

Definition at line 134 of file Dispatcher.hpp.

void RTT::mqueue::Dispatcher::loop ( ) [inline, virtual]
See also:
base::RunnableInterface::loop()

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.


Friends And Related Function Documentation

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.


Member Data Documentation

Definition at line 67 of file Dispatcher.hpp.

Definition at line 76 of file Dispatcher.hpp.

Definition at line 74 of file Dispatcher.hpp.

Definition at line 78 of file Dispatcher.hpp.

Definition at line 70 of file Dispatcher.hpp.

Definition at line 66 of file Dispatcher.hpp.

Definition at line 72 of file Dispatcher.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:39