OpenSDN source code
QueueTaskRunner< QueueEntryT, QueueT > Class Template Reference

#include <queue_task.h>

Inheritance diagram for QueueTaskRunner< QueueEntryT, QueueT >:
Collaboration diagram for QueueTaskRunner< QueueEntryT, QueueT >:

Public Member Functions

 QueueTaskRunner (QueueT *queue)
 
bool Run ()
 Code to execute in a task. Returns true if task is completed. Return false to reschedule the task. More...
 
virtual std::string Description () const
 Gives a description of the task. More...
 
- Public Member Functions inherited from Task
 Task (int task_id, int task_data_id)
 Creates a new task with the given values of task code ID and task data ID. More...
 
 Task (int task_id)
 Creates a new task with the given value of task code ID and wildcard for task data ID. More...
 
virtual ~Task ()
 Destroys a task. More...
 
virtual void OnTaskCancel ()
 Called on task exit, if it is marked for cancellation. If the user wants to do any cleanup on task cancellation, then he/she can overload this function. More...
 
State state () const
 Returns a state value of a task. More...
 
int task_code_id () const
 Returns the code ID of this task. More...
 
int task_data_id () const
 Returns the data ID of this task. More...
 
uint64_t seqno () const
 Returns the sequence number of this task. More...
 
bool task_cancelled () const
 Returns true if the task has been canceled. More...
 
uint64_t enqueue_time () const
 Returns the time when the task was enqueued for execution. More...
 
uint64_t schedule_time () const
 Returns the time when the task execution was started. More...
 
uint32_t execute_delay () const
 Returns the threshold for the task execution duration. More...
 
uint32_t schedule_delay () const
 Returns the time threshold for time difference between moments when the task was started and when it was enqueue. More...
 

Private Member Functions

bool RunQueue ()
 

Private Attributes

QueueT * queue_
 

Additional Inherited Members

- Public Types inherited from Task
enum  State { INIT , WAIT , RUN }
 Task states. More...
 
enum  TbbState { TBB_INIT , TBB_ENQUEUED , TBB_EXEC , TBB_DONE }
 Describes states of a task according to TBB library. More...
 
- Static Public Member Functions inherited from Task
static TaskRunning ()
 Returns a pointer to the current task the code is executing under. More...
 
- Static Public Attributes inherited from Task
static const int kTaskInstanceAny = -1
 Specifies value for wildcard (any or *) task data ID. More...
 

Detailed Description

template<typename QueueEntryT, typename QueueT>
class QueueTaskRunner< QueueEntryT, QueueT >

Definition at line 31 of file queue_task.h.

Constructor & Destructor Documentation

◆ QueueTaskRunner()

template<typename QueueEntryT , typename QueueT >
QueueTaskRunner< QueueEntryT, QueueT >::QueueTaskRunner ( QueueT *  queue)
inline

Definition at line 33 of file queue_task.h.

Member Function Documentation

◆ Description()

template<typename QueueEntryT , typename QueueT >
virtual std::string QueueTaskRunner< QueueEntryT, QueueT >::Description ( ) const
inlinevirtual

Gives a description of the task.

Implements Task.

Definition at line 48 of file queue_task.h.

◆ Run()

template<typename QueueEntryT , typename QueueT >
bool QueueTaskRunner< QueueEntryT, QueueT >::Run ( )
inlinevirtual

Code to execute in a task. Returns true if task is completed. Return false to reschedule the task.

Implements Task.

Definition at line 37 of file queue_task.h.

Here is the call graph for this function:

◆ RunQueue()

template<typename QueueEntryT , typename QueueT >
bool QueueTaskRunner< QueueEntryT, QueueT >::RunQueue ( )
inlineprivate

Definition at line 53 of file queue_task.h.

Here is the call graph for this function:

Member Data Documentation

◆ queue_

template<typename QueueEntryT , typename QueueT >
QueueT* QueueTaskRunner< QueueEntryT, QueueT >::queue_
private

Definition at line 86 of file queue_task.h.


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