The Gaudi Framework  v29r0 (ff2e7097)
IScheduler Class Referenceabstract

General interface for algorithm scheduler. More...

#include <GaudiKernel/IScheduler.h>

Inheritance diagram for IScheduler:
Collaboration diagram for IScheduler:

Public Member Functions

 DeclareInterfaceID (IScheduler, 1, 0)
 InterfaceID. More...
 
virtual StatusCode pushNewEvent (EventContext *eventContext)=0
 Make an event available to the scheduler. More...
 
virtual StatusCode pushNewEvents (std::vector< EventContext * > &eventContexts)=0
 Make a list of events available to the scheduler This method makes a bunch creation of new events atomic to the scheduler. More...
 
virtual StatusCode popFinishedEvent (EventContext *&eventContext)=0
 Retrieve a finished event from the scheduler. More...
 
virtual StatusCode tryPopFinishedEvent (EventContext *&eventContext)=0
 Try to retrieve a finished event from the scheduler. More...
 
virtual unsigned int freeSlots ()=0
 Get the free event processing slots. More...
 
virtual void dumpState ()
 
 DeclareInterfaceID (IScheduler, 1, 0)
 InterfaceID. More...
 
virtual StatusCode addEvent (EventContext *eventContext)=0
 Make an event available to the scheduler. More...
 
virtual unsigned int getEventsInFlight ()=0
 Get number of in flight events. More...
 
virtual unsigned int getCompletedEvents ()=0
 Get number of completed events. More...
 
- Public Member Functions inherited from IInterface
virtual void * i_cast (const InterfaceID &) const =0
 main cast function More...
 
virtual std::vector< std::stringgetInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces. More...
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual unsigned long refCount () const =0
 Current reference count. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance. More...
 
virtual ~IInterface ()=default
 Virtual destructor. More...
 

Additional Inherited Members

- Public Types inherited from IInterface
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 
using iid = Gaudi::InterfaceId< IInterface, 0, 0 >
 Interface ID. More...
 
using ext_iids = Gaudi::interface_list< iid >
 Extra interfaces. More...
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

Detailed Description

General interface for algorithm scheduler.

Interface for the schedulers.

Author
Danilo Piparo
Benedikt Hegner
Version
1.1

It allows to add events to the processing and to know how many events are in flight and how many completed.

Author
Danilo Piparo
Version
1.0

Definition at line 20 of file IScheduler.h.

Member Function Documentation

virtual StatusCode IScheduler::addEvent ( EventContext eventContext)
pure virtual

Make an event available to the scheduler.

IScheduler::DeclareInterfaceID ( IScheduler  ,
,
 
)
IScheduler::DeclareInterfaceID ( IScheduler  ,
,
 
)
virtual void IScheduler::dumpState ( )
inlinevirtual

Definition at line 42 of file IScheduler.h.

42 {};
virtual unsigned int IScheduler::freeSlots ( )
pure virtual

Get the free event processing slots.

virtual unsigned int IScheduler::getCompletedEvents ( )
pure virtual

Get number of completed events.

virtual unsigned int IScheduler::getEventsInFlight ( )
pure virtual

Get number of in flight events.

virtual StatusCode IScheduler::popFinishedEvent ( EventContext *&  eventContext)
pure virtual

Retrieve a finished event from the scheduler.

virtual StatusCode IScheduler::pushNewEvent ( EventContext eventContext)
pure virtual

Make an event available to the scheduler.

virtual StatusCode IScheduler::pushNewEvents ( std::vector< EventContext * > &  eventContexts)
pure virtual

Make a list of events available to the scheduler This method makes a bunch creation of new events atomic to the scheduler.

virtual StatusCode IScheduler::tryPopFinishedEvent ( EventContext *&  eventContext)
pure virtual

Try to retrieve a finished event from the scheduler.


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