Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
RTT::internal::GlobalEngine Class Reference

#include <GlobalEngine.hpp>

Inheritance diagram for RTT::internal::GlobalEngine:
Inheritance graph
[legend]

Static Public Member Functions

static RTT_API ExecutionEngineInstance ()
 
static RTT_API ExecutionEngineInstance (int scheduler, int priority=os::LowestPriority, unsigned cpu_affinity=0)
 
static RTT_API void Release ()
 

Private Member Functions

 GlobalEngine (int scheduler, int priority, unsigned cpu_affinity)
 
virtual ~GlobalEngine ()
 

Private Attributes

boost::shared_ptr< base::ActivityInterfacemact
 

Additional Inherited Members

- Public Types inherited from RTT::base::RunnableInterface
enum  WorkReason { TimeOut = 0, Trigger, IOReady }
 
- Public Member Functions inherited from RTT::ExecutionEngine
 ExecutionEngine (base::TaskCore *owner=0)
 
base::TaskCoregetParent ()
 
base::TaskCoregetTaskCore () const
 
bool isSelf () const
 
virtual bool process (base::DisposableInterface *c)
 
virtual bool process (base::PortInterface *port)
 
virtual bool removeFunction (base::ExecutableInterface *f)
 
virtual bool removeSelfFunction (base::ExecutableInterface *f)
 
virtual bool runFunction (base::ExecutableInterface *f)
 
void setExceptionTask ()
 
bool stopTask (base::TaskCore *task)
 
void waitForMessages (const boost::function< bool(void)> &pred)
 
 ~ExecutionEngine ()
 
- Public Member Functions inherited from RTT::base::RunnableInterface
ActivityInterfacegetActivity () const
 Query for the task this interface is run in. More...
 
virtual os::ThreadInterfacegetThread () const
 
virtual void loop ()
 
 RunnableInterface ()
 
virtual void setActivity (ActivityInterface *task)
 Set the task this interface is run in. More...
 
virtual ~RunnableInterface ()
 
- Protected Member Functions inherited from RTT::ExecutionEngine
virtual bool breakLoop ()
 
virtual void finalize ()
 
virtual bool hasWork ()
 
virtual bool initialize ()
 
void processFunctions ()
 
void processHooks ()
 
void processMessages ()
 
void processPortCallbacks ()
 
virtual void step ()
 
void waitAndProcessMessages (boost::function< bool(void)> const &pred)
 
void waitForMessagesInternal (boost::function< bool(void)> const &pred)
 
virtual void work (RunnableInterface::WorkReason reason)
 
- Protected Attributes inherited from RTT::ExecutionEngine
internal::MWSRQueue< base::ExecutableInterface * > * f_queue
 
internal::MWSRQueue< base::DisposableInterface * > * mqueue
 
os::Condition msg_cond
 
os::Mutex msg_lock
 
internal::MWSRQueue< base::PortInterface * > * port_queue
 
base::TaskCoretaskc
 

Detailed Description

A process-wide execution engine that processes every asynchronous operation that is not being processed by a TaskContext.

In practice, this only occurs when a client does a send() on an OperationCaller which calls an Operation with the ClientThread policy.

Definition at line 60 of file GlobalEngine.hpp.

Constructor & Destructor Documentation

RTT::internal::GlobalEngine::GlobalEngine ( int  scheduler,
int  priority,
unsigned  cpu_affinity 
)
private

Definition at line 49 of file GlobalEngine.cpp.

RTT::internal::GlobalEngine::~GlobalEngine ( )
privatevirtual

Definition at line 55 of file GlobalEngine.cpp.

Member Function Documentation

static RTT_API ExecutionEngine* RTT::internal::GlobalEngine::Instance ( )
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This is kept (instead of using default parameters) for ABI compatibility

Definition at line 70 of file GlobalEngine.hpp.

ExecutionEngine * RTT::internal::GlobalEngine::Instance ( int  scheduler,
int  priority = os::LowestPriority,
unsigned  cpu_affinity = 0 
)
static

Definition at line 61 of file GlobalEngine.cpp.

void RTT::internal::GlobalEngine::Release ( )
static

Definition at line 67 of file GlobalEngine.cpp.

Member Data Documentation

boost::shared_ptr<base::ActivityInterface> RTT::internal::GlobalEngine::mact
private

Definition at line 62 of file GlobalEngine.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47