1 #include <unordered_set>    42     warning () << 
"Base class could not be initialized" << 
endmsg;
    45   info() << 
"Activating scheduler in a separate thread" << 
endmsg;
    61     warning () << 
"Base class could not be finalized" << 
endmsg;
    65     warning () << 
"Scheduler could not be deactivated" << 
endmsg;
    67   info() << 
"Joining preemptive scheduler's thread" << 
endmsg;
    90   info() << 
"Start checking the queue of I/O-bound algorithm tasks.." << 
endmsg;
   126   auto actionn = [&](){
   127     debug() << 
" .. launching I/O-bound algo-closure .. " << 
endmsg;
 StatusCode initialize() override
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
StatusCode finalize() override
bool isSuccess() const 
Test for a status code of SUCCESS. 
bool m_isActive
Flag to track if the scheduler is active or not. 
Header file for class GaudiAlgorithm. 
std::thread m_thread
The thread in which the activate function runs. 
~IOBoundAlgSchedulerSvc() override
Destructor. 
virtual StatusCode execute()=0
StatusCode initialize() override
Initialise. 
General interface for a wrapper around Gaudi algorithm. 
This class is used for returning status codes from appropriate routines. 
StatusCode deactivate()
Deactivate scheduler. 
#define DECLARE_SERVICE_FACTORY(x)
Base class used to extend a class implementing other interfaces. 
void activate()
Activate scheduler. 
StatusCode push(IAlgTask &task) override
Add an algorithm to local queue to run on accelerator. 
StatusCode finalize() override
Finalise. 
Please refer to the full documentation of the methods for more details. 
tbb::concurrent_bounded_queue< action > m_actionsQueue
This is done since the copy of the lambda storage is too expensive. 
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.