RSB  0.9.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rsb::transport::inprocess::Bus Class Reference

#include <Bus.h>

Inheritance diagram for rsb::transport::inprocess::Bus:
Inheritance graph
Collaboration diagram for rsb::transport::inprocess::Bus:
Collaboration graph

Public Member Functions

 Bus ()
 
virtual ~Bus ()
 
void addSink (InConnectorPtr sink)
 
void removeSink (InConnector *sink)
 
void handle (EventPtr event)
 Handle event. More...
 
- Public Member Functions inherited from rsb::eventprocessing::Handler
virtual ~Handler ()
 

Private Types

typedef std::list
< boost::weak_ptr< InConnector > > 
SinkList
 
typedef std::map< Scope, SinkListSinkMap
 

Private Member Functions

void handleNoLock (EventPtr event)
 

Private Attributes

rsc::logging::LoggerPtr logger
 
SinkMap sinks
 
boost::recursive_mutex mutex
 
bool singleThreaded
 

Detailed Description

Author
jmoringe

Definition at line 54 of file Bus.h.

Member Typedef Documentation

typedef std::list< boost::weak_ptr<InConnector> > rsb::transport::inprocess::Bus::SinkList
private

Definition at line 69 of file Bus.h.

Definition at line 70 of file Bus.h.

Constructor & Destructor Documentation

rsb::transport::inprocess::Bus::Bus ( )

Definition at line 39 of file Bus.cpp.

rsb::transport::inprocess::Bus::~Bus ( )
virtual

Definition at line 43 of file Bus.cpp.

References logger, and sinks.

Member Function Documentation

void rsb::transport::inprocess::Bus::addSink ( InConnectorPtr  sink)

Definition at line 56 of file Bus.cpp.

References logger, mutex, and sinks.

void rsb::transport::inprocess::Bus::handle ( EventPtr  event)
virtual

Handle event.

Parameters
eventThe event that should be handled.

Implements rsb::eventprocessing::Handler.

Definition at line 137 of file Bus.cpp.

References handleNoLock(), mutex, and singleThreaded.

Referenced by rsb::transport::inprocess::OutConnector::handle().

Here is the call graph for this function:

Here is the caller graph for this function:

void rsb::transport::inprocess::Bus::handleNoLock ( EventPtr  event)
private

Definition at line 149 of file Bus.cpp.

References logger, and sinks.

Referenced by handle().

Here is the caller graph for this function:

void rsb::transport::inprocess::Bus::removeSink ( InConnector sink)

Definition at line 100 of file Bus.cpp.

References rsb::transport::inprocess::InConnector::getScope(), logger, mutex, sinks, and rsb::Scope::superScopes().

Here is the call graph for this function:

Member Data Documentation

rsc::logging::LoggerPtr rsb::transport::inprocess::Bus::logger
private

Definition at line 72 of file Bus.h.

Referenced by addSink(), handleNoLock(), removeSink(), and ~Bus().

boost::recursive_mutex rsb::transport::inprocess::Bus::mutex
private

Definition at line 75 of file Bus.h.

Referenced by addSink(), handle(), and removeSink().

bool rsb::transport::inprocess::Bus::singleThreaded
private

Definition at line 77 of file Bus.h.

Referenced by handle().

SinkMap rsb::transport::inprocess::Bus::sinks
private

Definition at line 74 of file Bus.h.

Referenced by addSink(), handleNoLock(), removeSink(), and ~Bus().


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