coil::PeriodicTask Class Reference

PeriodicTask class. More...

#include <PeriodicTask.h>

Inheritance diagram for coil::PeriodicTask:
coil::PeriodicTaskBase coil::Task

List of all members.

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.
virtual ~PeriodicTask ()
 Destructor.
virtual void activate ()
 Starting the task.
virtual void finalize ()
 Finalizing the task.
virtual int suspend (void)
 Suspending the task.
virtual int resume (void)
 Resuming the suspended task.
virtual void signal ()
 Executing the suspended task one tick.
virtual bool setTask (TaskFuncBase *func, bool delete_in_dtor=true)
 Setting task execution function.
template<class O , class F >
bool setTask (O *obj, F fun)
 Setting task execution function.
virtual void setPeriod (double period)
 Setting task execution period.
virtual void setPeriod (TimeValue &period)
 Setting task execution period.
virtual void executionMeasure (bool value)
 Validate a Task execute time measurement.
virtual void executionMeasureCount (int n)
 Task execute time measurement period.
virtual void periodicMeasure (bool value)
 Validate a Task period time measurement.
virtual void periodicMeasureCount (int n)
 Task period time measurement count.
virtual TimeMeasure::Statistics getExecStat ()
 Get a result in task execute time measurement.
virtual TimeMeasure::Statistics getPeriodStat ()
 Get a result in task period time measurement.

Protected Member Functions

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

Protected Attributes

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

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.

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

Task execute time measurement period.

Implements coil::PeriodicTaskBase.

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.

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

Get a result in task period time measurement.

Implements coil::PeriodicTaskBase.

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

Validate a Task period time measurement.

Implements coil::PeriodicTaskBase.

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

Task period time measurement count.

Implements coil::PeriodicTaskBase.

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

Resuming the suspended task.

Resuming the suspended task

Implements coil::PeriodicTaskBase.

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

Setting task execution period.

Parameters:
period Execution period

Implements coil::PeriodicTaskBase.

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

Setting task execution period.

Parameters:
period Execution period [sec]

Implements coil::PeriodicTaskBase.

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

Setting task execution function.

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

Reimplemented from coil::PeriodicTaskBase.

References setTask().

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

Setting task execution function.

Parameters:
func Set int (*)() type function pointer

Implements coil::PeriodicTaskBase.

Referenced by setTask().

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 (  )  [protected, virtual]

Thread sleep.

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

Suspending the task.

Suspending the task running.

Implements coil::PeriodicTaskBase.

virtual int coil::PeriodicTask::svc (  )  [protected, virtual]

Thread execution for PeriodicTask.

Reimplemented from coil::Task.

virtual void coil::PeriodicTask::updateExecStat (  )  [protected, virtual]

Update for execute state.

virtual void coil::PeriodicTask::updatePeriodStat (  )  [protected, virtual]

Update for period state.


Member Data Documentation

Task alive flag.

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.

Task execution time measurement flag.

Task execution time measurement statistics.

Task execution time measurement infomation.

Task execution function.

bool coil::PeriodicTask::m_nowait [protected]

Thread sleep flag.

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.

Task periodic time measurement flag.

Task periodic time measurement statistics.

Task periodic time measurement infomation.

Task suspend infomation.

Generated on Fri Oct 28 18:31:18 2016 for OpenRTM-aist by  doxygen 1.6.3