Add doxygen comment about state handlers running in worker thread

This commit is contained in:
Alexey Rybalchenko 2017-08-29 10:15:57 +02:00 committed by Mohammad Al-Turany
parent 3ab7ee5f02
commit 9be5a20df6

View File

@ -478,30 +478,40 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
int fNumIoThreads; ///< Number of ZeroMQ I/O threads int fNumIoThreads; ///< Number of ZeroMQ I/O threads
/// Additional user initialization (can be overloaded in child classes). Prefer to use InitTask(). /// Additional user initialization (can be overloaded in child classes). Prefer to use InitTask().
/// Executed in a worker thread
virtual void Init(); virtual void Init();
/// Task initialization (can be overloaded in child classes) /// Task initialization (can be overloaded in child classes)
/// Executed in a worker thread (currently runs in main thread as workaround for multithread-aware FairRunAna/Sim implementation)
// TODO: fix this to also run in worker thread, or change all callbacks to be run in the main thread?
virtual void InitTask(); virtual void InitTask();
/// Runs the device (to be overloaded in child classes) /// Runs the device (to be overloaded in child classes)
/// Executed in a worker thread
virtual void Run(); virtual void Run();
/// Called in the RUNNING state once before executing the Run()/ConditionalRun() method /// Called in the RUNNING state once before executing the Run()/ConditionalRun() method
/// Executed in a worker thread
virtual void PreRun(); virtual void PreRun();
/// Called during RUNNING state repeatedly until it returns false or device state changes /// Called during RUNNING state repeatedly until it returns false or device state changes
/// Executed in a worker thread
virtual bool ConditionalRun(); virtual bool ConditionalRun();
/// Called in the RUNNING state once after executing the Run()/ConditionalRun() method /// Called in the RUNNING state once after executing the Run()/ConditionalRun() method
/// Executed in a worker thread
virtual void PostRun(); virtual void PostRun();
/// Handles the PAUSE state /// Handles the PAUSE state
/// Executed in a worker thread
virtual void Pause(); virtual void Pause();
/// Resets the user task (to be overloaded in child classes) /// Resets the user task (to be overloaded in child classes)
/// Executed in a worker thread
virtual void ResetTask(); virtual void ResetTask();
/// Resets the device (can be overloaded in child classes) /// Resets the device (can be overloaded in child classes)
/// Executed in a worker thread
virtual void Reset(); virtual void Reset();
private: private: