51 #include <boost/bind.hpp> 54 #define ORONUM_EE_MQUEUE_SIZE 100 66 using namespace detail;
67 using namespace boost;
82 while (
f_queue->dequeue( foo ) )
86 while (
mqueue->dequeue( dis ) )
104 while (
f_queue->dequeue(foo) ) {
106 if ( foo->
execute() == false ){
124 bool result =
f_queue->enqueue( f );
135 : mf(f),mee(ee), found(false) {}
141 virtual bool isError()
const {
return false; }
196 return !
mqueue->isEmpty();
208 while (
mqueue->dequeue(com) ) {
249 bool result =
mqueue->enqueue( c );
281 return (thread && thread->
isSelf());
360 )
CATCH(std::exception
const& e,
361 log(
Error) <<
"in updateHook(): switching to exception state because of unhandled exception" <<
endlog();
365 log(
Error) <<
"in updateHook(): switching to exception state because of unhandled exception" <<
endlog();
374 )
CATCH(std::exception
const& e,
375 log(
Error) <<
"in errorHook(): switching to exception state because of unhandled exception" <<
endlog();
379 log(
Error) <<
"in errorHook(): switching to exception state because of unhandled exception" <<
endlog();
412 name =
"GlobalEngine";
413 log(
Error) <<
"in "<<name<<
": unhandled exception in sent operation." <<
endlog();
virtual os::ThreadInterface * getThread() const
#define TRY(C)
Contains static global configuration variables and cached entries.
void loaded(ExecutionEngine *ee)
ActivityInterface * getActivity() const
Query for the task this interface is run in.
virtual bool removeFunction(base::ExecutableInterface *f)
void processPortCallbacks()
virtual void updateHook()
void waitForMessages(const boost::function< bool(void)> &pred)
virtual bool isActive() const =0
RemoveMsg(ExecutableInterface *f, ExecutionEngine *ee)
internal::MWSRQueue< base::PortInterface * > * port_queue
The state indicating that a run-time error has occured [red] and needs attention. ...
virtual bool removeSelfFunction(base::ExecutableInterface *f)
internal::MWSRQueue< base::ExecutableInterface * > * f_queue
unsigned int mCycleCounter
void waitForMessagesInternal(boost::function< bool(void)> const &pred)
internal::MWSRQueue< base::DisposableInterface * > * mqueue
virtual void executeAndDispose()=0
unsigned int mTimeOutCounter
virtual bool isError() const
bool stopTask(base::TaskCore *task)
virtual bool initialize()
The state indicating the component encountered a fatal error and is unable to execute.
base::TaskCore * getParent()
virtual bool breakUpdateHook()
An object that is executable and is freed after execution.
void waitAndProcessMessages(boost::function< bool(void)> const &pred)
The state indicating the component is running [green].
virtual void work(RunnableInterface::WorkReason reason)
#define tracepoint_context(provider, event, name)
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
#define ORONUM_EE_MQUEUE_SIZE
virtual void dataOnPortCallback(base::PortInterface *port)
virtual bool process(base::DisposableInterface *c)
virtual bool runFunction(base::ExecutableInterface *f)
virtual void executeAndDispose()
ExecutionEngine(base::TaskCore *owner=0)
unsigned int mTriggerCounter
static Logger::LogFunction endlog()
virtual const std::string & getName() const
MutexLock is a scope based Monitor, protecting critical sections with a Mutex object through locking ...