#include <CorbaDispatcher.hpp>
Public Member Functions | |
bool | breakLoop () |
void | cancelChannel (base::ChannelElementBase::shared_ptr chan) |
void | dispatchChannel (base::ChannelElementBase::shared_ptr chan) |
bool | initialize () |
void | loop () |
Static Public Member Functions | |
static void | hasElement (base::ChannelElementBase::shared_ptr c0, base::ChannelElementBase::shared_ptr c1, bool &result) |
static CorbaDispatcher * | Instance (DataFlowInterface *iface, int scheduler=defaultScheduler, int priority=defaultPriority) |
static void | Release (DataFlowInterface *iface) |
static void | ReleaseAll () |
Private Types | |
typedef std::map < DataFlowInterface *, CorbaDispatcher * > | DispatchMap |
typedef internal::List < base::ChannelElementBase::shared_ptr > | RCList |
Private Member Functions | |
CorbaDispatcher (const std::string &name) | |
CorbaDispatcher (const std::string &name, int scheduler, int priority) | |
~CorbaDispatcher () | |
Private Attributes | |
bool | do_exit |
RCList | RClist |
Static Private Attributes | |
static RTT_CORBA_API int | defaultPriority = os::LowestPriority |
static RTT_CORBA_API int | defaultScheduler = ORO_SCHED_RT |
static RTT_CORBA_API DispatchMap | DispatchI |
static RTT_CORBA_API os::Mutex * | mlock = 0 |
This object sends over data flow messages from local buffers to a remote channel element.
Definition at line 57 of file CorbaDispatcher.hpp.
typedef std::map<DataFlowInterface*,CorbaDispatcher*> RTT::corba::CorbaDispatcher::DispatchMap [private] |
Definition at line 59 of file CorbaDispatcher.hpp.
typedef internal::List<base::ChannelElementBase::shared_ptr> RTT::corba::CorbaDispatcher::RCList [private] |
Definition at line 62 of file CorbaDispatcher.hpp.
RTT::corba::CorbaDispatcher::CorbaDispatcher | ( | const std::string & | name | ) | [inline, private] |
Definition at line 72 of file CorbaDispatcher.hpp.
RTT::corba::CorbaDispatcher::CorbaDispatcher | ( | const std::string & | name, |
int | scheduler, | ||
int | priority | ||
) | [inline, private] |
Definition at line 78 of file CorbaDispatcher.hpp.
RTT::corba::CorbaDispatcher::~CorbaDispatcher | ( | ) | [inline, private] |
Definition at line 84 of file CorbaDispatcher.hpp.
bool RTT::corba::CorbaDispatcher::breakLoop | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 184 of file CorbaDispatcher.hpp.
void RTT::corba::CorbaDispatcher::cancelChannel | ( | base::ChannelElementBase::shared_ptr | chan | ) | [inline] |
Definition at line 164 of file CorbaDispatcher.hpp.
void RTT::corba::CorbaDispatcher::dispatchChannel | ( | base::ChannelElementBase::shared_ptr | chan | ) | [inline] |
Definition at line 156 of file CorbaDispatcher.hpp.
static void RTT::corba::CorbaDispatcher::hasElement | ( | base::ChannelElementBase::shared_ptr | c0, |
base::ChannelElementBase::shared_ptr | c1, | ||
bool & | result | ||
) | [inline, static] |
Definition at line 151 of file CorbaDispatcher.hpp.
bool RTT::corba::CorbaDispatcher::initialize | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 168 of file CorbaDispatcher.hpp.
static CorbaDispatcher* RTT::corba::CorbaDispatcher::Instance | ( | DataFlowInterface * | iface, |
int | scheduler = defaultScheduler , |
||
int | priority = defaultPriority |
||
) | [inline, static] |
Create a new dispatcher for a given data flow interface. This method will only lock and allocate when a new dispatcher must be created, otherwise, the access is lock-free and real-time. One dispatcher per iface is created.
iface | The interface to dispatch data flow messages for. |
Definition at line 97 of file CorbaDispatcher.hpp.
void RTT::corba::CorbaDispatcher::loop | ( | ) | [inline, virtual] |
Reimplemented from RTT::Activity.
Definition at line 174 of file CorbaDispatcher.hpp.
static void RTT::corba::CorbaDispatcher::Release | ( | DataFlowInterface * | iface | ) | [inline, static] |
Releases and cleans up a specific interface from dispatching.
iface |
Definition at line 125 of file CorbaDispatcher.hpp.
static void RTT::corba::CorbaDispatcher::ReleaseAll | ( | ) | [inline, static] |
May be called during program termination to clean up all resources.
Definition at line 140 of file CorbaDispatcher.hpp.
int RTT::CorbaDispatcher::defaultPriority = os::LowestPriority [static, private] |
Definition at line 70 of file CorbaDispatcher.hpp.
int RTT::CorbaDispatcher::defaultScheduler = ORO_SCHED_RT [static, private] |
Definition at line 69 of file CorbaDispatcher.hpp.
CorbaDispatcher::DispatchMap RTT::CorbaDispatcher::DispatchI [static, private] |
Definition at line 60 of file CorbaDispatcher.hpp.
bool RTT::corba::CorbaDispatcher::do_exit [private] |
Definition at line 65 of file CorbaDispatcher.hpp.
RTT_CORBA_API os::Mutex * RTT::CorbaDispatcher::mlock = 0 [static, private] |
Definition at line 67 of file CorbaDispatcher.hpp.
RCList RTT::corba::CorbaDispatcher::RClist [private] |
Definition at line 63 of file CorbaDispatcher.hpp.