OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TaskMonitor Class Reference

#include <task_monitor.h>

Collaboration diagram for TaskMonitor:

Public Member Functions

 TaskMonitor (TaskScheduler *scheduler, uint64_t tbb_keepawake_time_msec, uint64_t inactivity_time_msec, uint64_t poll_interval_msec)
 
 ~TaskMonitor ()
 
void Start (EventManager *evm)
 
void Terminate ()
 
void Run (const boost::system::error_code &ec)
 
uint64_t last_activity () const
 
uint64_t last_enqueue_count () const
 
uint64_t last_done_count () const
 
uint64_t inactivity_time_usec () const
 
uint64_t inactivity_time_msec () const
 
uint64_t poll_interval_msec () const
 
uint64_t tbb_keepawake_time_msec () const
 
uint64_t poll_count () const
 

Private Member Functions

void UpdateTimers ()
 
void Restart ()
 
bool Monitor (uint64_t t, uint64_t enqueue_count, uint64_t done_count)
 
 DISALLOW_COPY_AND_ASSIGN (TaskMonitor)
 

Private Attributes

TaskSchedulerscheduler_
 
bool cancelled_
 
std::unique_ptr< TimerImpltimer_impl_
 
uint64_t inactivity_time_usec_
 
uint64_t poll_interval_msec_
 
uint64_t tbb_keepawake_time_msec_
 
uint64_t last_activity_
 
uint64_t last_enqueue_count_
 
uint64_t last_done_count_
 
uint64_t poll_count_
 

Friends

class TaskMonitorTest
 

Detailed Description

Definition at line 25 of file task_monitor.h.

Constructor & Destructor Documentation

TaskMonitor::TaskMonitor ( TaskScheduler scheduler,
uint64_t  tbb_keepawake_time_msec,
uint64_t  inactivity_time_msec,
uint64_t  poll_interval_msec 
)

Definition at line 16 of file task_monitor.cc.

TaskMonitor::~TaskMonitor ( )

Definition at line 28 of file task_monitor.cc.

Member Function Documentation

TaskMonitor::DISALLOW_COPY_AND_ASSIGN ( TaskMonitor  )
private
uint64_t TaskMonitor::inactivity_time_msec ( ) const
inline

Definition at line 40 of file task_monitor.h.

uint64_t TaskMonitor::inactivity_time_usec ( ) const
inline

Definition at line 39 of file task_monitor.h.

uint64_t TaskMonitor::last_activity ( ) const
inline

Definition at line 35 of file task_monitor.h.

uint64_t TaskMonitor::last_done_count ( ) const
inline

Definition at line 37 of file task_monitor.h.

uint64_t TaskMonitor::last_enqueue_count ( ) const
inline

Definition at line 36 of file task_monitor.h.

bool TaskMonitor::Monitor ( uint64_t  t,
uint64_t  enqueue_count,
uint64_t  done_count 
)
private

Definition at line 73 of file task_monitor.cc.

uint64_t TaskMonitor::poll_count ( ) const
inline

Definition at line 43 of file task_monitor.h.

uint64_t TaskMonitor::poll_interval_msec ( ) const
inline

Definition at line 41 of file task_monitor.h.

void TaskMonitor::Restart ( )
private

Definition at line 63 of file task_monitor.cc.

Here is the call graph for this function:

void TaskMonitor::Run ( const boost::system::error_code &  ec)

Definition at line 101 of file task_monitor.cc.

Here is the call graph for this function:

void TaskMonitor::Start ( EventManager evm)

Definition at line 49 of file task_monitor.cc.

Here is the call graph for this function:

uint64_t TaskMonitor::tbb_keepawake_time_msec ( ) const
inline

Definition at line 42 of file task_monitor.h.

void TaskMonitor::Terminate ( )

Definition at line 59 of file task_monitor.cc.

void TaskMonitor::UpdateTimers ( )
private

Definition at line 31 of file task_monitor.cc.

Friends And Related Function Documentation

friend class TaskMonitorTest
friend

Definition at line 45 of file task_monitor.h.

Member Data Documentation

bool TaskMonitor::cancelled_
private

Definition at line 53 of file task_monitor.h.

uint64_t TaskMonitor::inactivity_time_usec_
private

Definition at line 58 of file task_monitor.h.

uint64_t TaskMonitor::last_activity_
private

Definition at line 64 of file task_monitor.h.

uint64_t TaskMonitor::last_done_count_
private

Definition at line 68 of file task_monitor.h.

uint64_t TaskMonitor::last_enqueue_count_
private

Definition at line 66 of file task_monitor.h.

uint64_t TaskMonitor::poll_count_
private

Definition at line 70 of file task_monitor.h.

uint64_t TaskMonitor::poll_interval_msec_
private

Definition at line 60 of file task_monitor.h.

TaskScheduler* TaskMonitor::scheduler_
private

Definition at line 51 of file task_monitor.h.

uint64_t TaskMonitor::tbb_keepawake_time_msec_
private

Definition at line 62 of file task_monitor.h.

std::unique_ptr<TimerImpl> TaskMonitor::timer_impl_
private

Definition at line 55 of file task_monitor.h.


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