OpenRTM-aist  1.2.1
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
coil::PeriodicTask Class Reference

PeriodicTask class. More...

#include <PeriodicTask.h>

Inheritance diagram for coil::PeriodicTask:
Inheritance graph
[legend]
Collaboration diagram for coil::PeriodicTask:
Collaboration graph
[legend]

Classes

class  alive_t
 alive_t class More...
 
struct  statistics_t
 Structure for task execution time measurement management. More...
 
struct  suspend_t
 Structure for task suspend management. More...
 

Public Types

typedef coil::Guard< coil::MutexGuard
 

Public Member Functions

 PeriodicTask ()
 Constructor. More...
 
virtual ~PeriodicTask ()
 Destructor. More...
 
virtual void activate ()
 Starting the task. More...
 
virtual void finalize ()
 Finalizing the task. More...
 
virtual int suspend (void)
 Suspending the task. More...
 
virtual int resume (void)
 Resuming the suspended task. More...
 
virtual void signal ()
 Executing the suspended task one tick. More...
 
virtual bool setTask (TaskFuncBase *func, bool delete_in_dtor=true)
 Setting task execution function. More...
 
template<class O , class F >
bool setTask (O *obj, F fun)
 Setting task execution function. More...
 
virtual void setPeriod (double period)
 Setting task execution period. More...
 
virtual void setPeriod (TimeValue &period)
 Setting task execution period. More...
 
virtual void executionMeasure (bool value)
 Validate a Task execute time measurement. More...
 
virtual void executionMeasureCount (int n)
 Task execute time measurement period. More...
 
virtual void periodicMeasure (bool value)
 Validate a Task period time measurement. More...
 
virtual void periodicMeasureCount (int n)
 Task period time measurement count. More...
 
virtual TimeMeasure::Statistics getExecStat ()
 Get a result in task execute time measurement. More...
 
virtual TimeMeasure::Statistics getPeriodStat ()
 Get a result in task period time measurement. More...
 
- Public Member Functions inherited from coil::PeriodicTaskBase
virtual ~PeriodicTaskBase ()
 Destructor. More...
 
template<class O , class F >
bool setTask (O *obj, F fun)
 Setting task execution function. More...
 
- Public Member Functions inherited from coil::Task
 Task ()
 Constructor. More...
 
virtual ~Task ()
 Destructor. More...
 
virtual int open (void *args=0)
 Task open. More...
 
virtual int close (unsigned long flags=0)
 Task close. More...
 
virtual int wait (void)
 Waiting for the thread terminate. More...
 
virtual void reset ()
 Reset of task count. More...
 

Protected Member Functions

virtual int svc ()
 Thread execution for PeriodicTask. More...
 
virtual void sleep ()
 Thread sleep. More...
 
virtual void updateExecStat ()
 Update for execute state. More...
 
virtual void updatePeriodStat ()
 Update for period state. More...
 

Protected Attributes

coil::TimeValue m_period
 Task execution period. More...
 
bool m_nowait
 Thread sleep flag. More...
 
TaskFuncBasem_func
 Task execution function. More...
 
bool m_deleteInDtor
 Task execution function delete flag. More...
 
alive_t m_alive
 Task alive flag. More...
 
suspend_t m_suspend
 Task suspend infomation. More...
 
bool m_execMeasure
 Task execution time measurement flag. More...
 
unsigned int m_execCount
 Task execution time measurement count. More...
 
unsigned int m_execCountMax
 Task execution time measurement max count. More...
 
statistics_t m_execStat
 Task execution time measurement statistics. More...
 
coil::TimeMeasure m_execTime
 Task execution time measurement infomation. More...
 
bool m_periodMeasure
 Task periodic time measurement flag. More...
 
unsigned int m_periodCount
 Task periodic time measurement count. More...
 
unsigned int m_periodCountMax
 Task periodic time measurement max count. More...
 
statistics_t m_periodStat
 Task periodic time measurement statistics. More...
 
coil::TimeMeasure m_periodTime
 Task periodic time measurement infomation. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from coil::Task
static void * svc_run (void *args=0)
 Start thread Execution. More...
 

Detailed Description

PeriodicTask class.

Member Typedef Documentation

Constructor & Destructor Documentation

coil::PeriodicTask::PeriodicTask ( )

Constructor.

Constructor

virtual coil::PeriodicTask::~PeriodicTask ( )
virtual

Destructor.

Destructor

Member Function Documentation

virtual void coil::PeriodicTask::activate ( )
virtual

Starting the task.

Starting a thread to execute a task. If the task/thread is started properly, it will return 'TRUE'. if the task/thread are already started or task function object is not set, 'FALSE' will be returned.

Returns
true: normal start, false: already started or task is not set

Implements coil::PeriodicTaskBase.

virtual void coil::PeriodicTask::executionMeasure ( bool  value)
virtual

Validate a Task execute time measurement.

Implements coil::PeriodicTaskBase.

Referenced by setTask().

virtual void coil::PeriodicTask::executionMeasureCount ( int  n)
virtual

Task execute time measurement period.

Implements coil::PeriodicTaskBase.

Referenced by setTask().

virtual void coil::PeriodicTask::finalize ( )
virtual

Finalizing the task.

Finalizing the task running.

Implements coil::PeriodicTaskBase.

virtual TimeMeasure::Statistics coil::PeriodicTask::getExecStat ( )
virtual

Get a result in task execute time measurement.

Implements coil::PeriodicTaskBase.

Referenced by setTask().

virtual TimeMeasure::Statistics coil::PeriodicTask::getPeriodStat ( )
virtual

Get a result in task period time measurement.

Implements coil::PeriodicTaskBase.

Referenced by setTask().

virtual void coil::PeriodicTask::periodicMeasure ( bool  value)
virtual

Validate a Task period time measurement.

Implements coil::PeriodicTaskBase.

Referenced by setTask().

virtual void coil::PeriodicTask::periodicMeasureCount ( int  n)
virtual

Task period time measurement count.

Implements coil::PeriodicTaskBase.

Referenced by setTask().

virtual int coil::PeriodicTask::resume ( void  )
virtual

Resuming the suspended task.

Resuming the suspended task

Implements coil::PeriodicTaskBase.

virtual void coil::PeriodicTask::setPeriod ( double  period)
virtual

Setting task execution period.

Parameters
periodExecution period [sec]

Implements coil::PeriodicTaskBase.

Referenced by setTask().

virtual void coil::PeriodicTask::setPeriod ( TimeValue period)
virtual

Setting task execution period.

Parameters
periodExecution period

Implements coil::PeriodicTaskBase.

virtual bool coil::PeriodicTask::setTask ( TaskFuncBase func,
bool  delete_in_dtor = true 
)
virtual

Setting task execution function.

Parameters
funcSet int (*)() type function pointer

Implements coil::PeriodicTaskBase.

Referenced by setTask().

template<class O , class F >
bool coil::PeriodicTask::setTask ( O *  obj,
fun 
)
inline

Setting task execution function.

Parameters
funcSet int (*)() type function pointer
Returns
true: successful, false: failed

References executionMeasure(), executionMeasureCount(), getExecStat(), getPeriodStat(), periodicMeasure(), periodicMeasureCount(), setPeriod(), setTask(), sleep(), svc(), updateExecStat(), and updatePeriodStat().

virtual void coil::PeriodicTask::signal ( )
virtual

Executing the suspended task one tick.

Executing the suspended task one tick

Implements coil::PeriodicTaskBase.

virtual void coil::PeriodicTask::sleep ( )
protectedvirtual

Thread sleep.

Referenced by setTask().

virtual int coil::PeriodicTask::suspend ( void  )
virtual

Suspending the task.

Suspending the task running.

Implements coil::PeriodicTaskBase.

virtual int coil::PeriodicTask::svc ( )
protectedvirtual

Thread execution for PeriodicTask.

Reimplemented from coil::Task.

Referenced by setTask().

virtual void coil::PeriodicTask::updateExecStat ( )
protectedvirtual

Update for execute state.

Referenced by setTask().

virtual void coil::PeriodicTask::updatePeriodStat ( )
protectedvirtual

Update for period state.

Referenced by setTask().

Member Data Documentation

alive_t coil::PeriodicTask::m_alive
protected

Task alive flag.

bool coil::PeriodicTask::m_deleteInDtor
protected

Task execution function delete flag.

unsigned int coil::PeriodicTask::m_execCount
protected

Task execution time measurement count.

unsigned int coil::PeriodicTask::m_execCountMax
protected

Task execution time measurement max count.

bool coil::PeriodicTask::m_execMeasure
protected

Task execution time measurement flag.

statistics_t coil::PeriodicTask::m_execStat
protected

Task execution time measurement statistics.

coil::TimeMeasure coil::PeriodicTask::m_execTime
protected

Task execution time measurement infomation.

TaskFuncBase* coil::PeriodicTask::m_func
protected

Task execution function.

bool coil::PeriodicTask::m_nowait
protected

Thread sleep flag.

coil::TimeValue coil::PeriodicTask::m_period
protected

Task execution period.

unsigned int coil::PeriodicTask::m_periodCount
protected

Task periodic time measurement count.

unsigned int coil::PeriodicTask::m_periodCountMax
protected

Task periodic time measurement max count.

bool coil::PeriodicTask::m_periodMeasure
protected

Task periodic time measurement flag.

statistics_t coil::PeriodicTask::m_periodStat
protected

Task periodic time measurement statistics.

coil::TimeMeasure coil::PeriodicTask::m_periodTime
protected

Task periodic time measurement infomation.

suspend_t coil::PeriodicTask::m_suspend
protected

Task suspend infomation.


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