HiveAlgoTask Class Reference

dirty place for adding an AlgoTask wrapper More...

Inheritance diagram for HiveAlgoTask:
Collaboration diagram for HiveAlgoTask:

Public Member Functions

 HiveAlgoTask (IAlgorithm *algorithm, EventSchedulingState *scheduler, HiveEventLoopMgr *eventloopmanager)
 
tbb::task * execute ()
 

Public Attributes

IAlgorithmm_algorithm
 
EventSchedulingStatem_scheduler
 
HiveEventLoopMgrm_eventloopmanager
 

Detailed Description

dirty place for adding an AlgoTask wrapper

Definition at line 51 of file HiveEventLoopMgr.cpp.

Constructor & Destructor Documentation

HiveAlgoTask::HiveAlgoTask ( IAlgorithm algorithm,
EventSchedulingState scheduler,
HiveEventLoopMgr eventloopmanager 
)
inline

Definition at line 53 of file HiveEventLoopMgr.cpp.

55  : m_algorithm(algorithm),
56  m_scheduler(scheduler),
57  m_eventloopmanager(eventloopmanager){};
IAlgorithm * m_algorithm
HiveEventLoopMgr * m_eventloopmanager
EventSchedulingState * m_scheduler

Member Function Documentation

tbb::task * HiveAlgoTask::execute ( )

Definition at line 64 of file HiveEventLoopMgr.cpp.

64  {
65  // Algorithm* this_algo = dynamic_cast<Algorithm*>(m_algorithm);
66  // this_algo->getContext()->m_thread_id = pthread_self();
69  // put back the algo into the hive algorithm manager
70  m_eventloopmanager->taskFinished(m_algorithm); // TODO do this with index: put index in context?
71  return NULL;
72 }
IAlgorithm * m_algorithm
void taskFinished(IAlgorithm *&algo)
Decrement the number of algos in flight and put algo back in manager - maybe private.
virtual StatusCode sysExecute()=0
System execution. This method invokes the execute() method of a concrete algorithm.
HiveEventLoopMgr * m_eventloopmanager
EventSchedulingState * m_scheduler

Member Data Documentation

IAlgorithm* HiveAlgoTask::m_algorithm

Definition at line 59 of file HiveEventLoopMgr.cpp.

HiveEventLoopMgr* HiveAlgoTask::m_eventloopmanager

Definition at line 61 of file HiveEventLoopMgr.cpp.

EventSchedulingState* HiveAlgoTask::m_scheduler

Definition at line 60 of file HiveEventLoopMgr.cpp.


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