Fawkes API
Fawkes Development Version
|
Thread aspect to use blocked timing The Fawkes main application provides basic means to synchronize all running thread with respect to several given hooks (see WakeupHook). More...
#include <>>
Public Types | |
enum | WakeupHook { WAKEUP_HOOK_PRE_LOOP, WAKEUP_HOOK_SENSOR, WAKEUP_HOOK_SENSOR_PROCESS, WAKEUP_HOOK_WORLDSTATE, WAKEUP_HOOK_THINK, WAKEUP_HOOK_SKILL, WAKEUP_HOOK_ACT, WAKEUP_HOOK_ACT_EXEC, WAKEUP_HOOK_POST_LOOP } |
Type to define at which hook the thread is woken up. More... | |
Public Member Functions | |
BlockedTimingAspect (WakeupHook wakeup_hook) | |
Constructor. | |
virtual | ~BlockedTimingAspect () |
Virtual empty destructor. | |
WakeupHook | blockedTimingAspectHook () const |
Get the wakeup hook. |
Thread aspect to use blocked timing The Fawkes main application provides basic means to synchronize all running thread with respect to several given hooks (see WakeupHook).
Threads of a woken up at a particular point in time. The hooks basically correspond to an extended sense - plan - act kind of loop. Your thread must run in Thread::OPMODE_WAITFORWAKEUP mode, otherwise it is not started. This is a requirement for having the BlockedTimingAspect.
Type to define at which hook the thread is woken up.
See FawkesMainThread for information when and in which order the hooks are called.
Definition at line 39 of file blocked_timing.h.
fawkes::BlockedTimingAspect::BlockedTimingAspect | ( | WakeupHook | wakeup_hook | ) |
Constructor.
This special constructor is needed to define the wakeup point.
wakeup_hook | hook when this thread should be woken up |
Definition at line 51 of file blocked_timing.cpp.
fawkes::BlockedTimingAspect::~BlockedTimingAspect | ( | ) | [virtual] |
Virtual empty destructor.
Definition at line 58 of file blocked_timing.cpp.
BlockedTimingAspect::WakeupHook fawkes::BlockedTimingAspect::blockedTimingAspectHook | ( | ) | const |
Get the wakeup hook.
The wakeup hook defines when this thread should be woken up. This heavily depends on the used main thread.
Definition at line 69 of file blocked_timing.cpp.