![]() |
The Gaudi Framework
master (ff829712)
|
General interface for algorithm scheduler. More...
#include <GaudiKernel/IScheduler.h>
Classes | |
struct | OccupancySnapshot |
Sample occupancy at fixed interval (ms) Negative value to deactivate, 0 to snapshot every change Each sample, apply the callback function to the result. More... | |
Public Member Functions | |
DeclareInterfaceID (IScheduler, 1, 0) | |
InterfaceID. | |
virtual StatusCode | pushNewEvent (EventContext *eventContext)=0 |
Make an event available to the scheduler. | |
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. | |
virtual StatusCode | popFinishedEvent (EventContext *&eventContext)=0 |
Retrieve a finished event from the scheduler. | |
virtual StatusCode | tryPopFinishedEvent (EventContext *&eventContext)=0 |
Try to retrieve a finished event from the scheduler. | |
virtual unsigned int | freeSlots ()=0 |
Get the free event processing slots. | |
virtual void | dumpState () |
virtual StatusCode | scheduleEventView (const EventContext *sourceContext, const std::string &nodeName, std::unique_ptr< EventContext > viewContext)=0 |
Method to inform the scheduler about event views. | |
virtual void | recordOccupancy (int samplePeriod, std::function< void(OccupancySnapshot)> callback)=0 |
![]() | |
template<Gaudi::IsInterface TARGET> | |
TARGET * | cast () |
template<Gaudi::IsInterface TARGET> | |
TARGET const * | cast () const |
template<typename TARGET> requires ( !Gaudi::IsInterface<TARGET> ) | |
TARGET * | cast () |
template<typename TARGET> requires ( !Gaudi::IsInterface<TARGET> ) | |
TARGET const * | cast () const |
virtual std::vector< std::string > | getInterfaceNames () const =0 |
Returns a vector of strings containing the names of all the implemented interfaces. | |
virtual unsigned long | addRef () const =0 |
Increment the reference count of Interface instance. | |
virtual unsigned long | release () const =0 |
Release Interface instance. | |
virtual unsigned long | refCount () const =0 |
Current reference count. | |
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0 |
Set the void** to the pointer to the requested interface of the instance. | |
virtual | ~IInterface ()=default |
Virtual destructor. | |
virtual void const * | i_cast (const InterfaceID &) const =0 |
void * | i_cast (const InterfaceID &iid) |
Additional Inherited Members | |
![]() | |
enum class | Status : StatusCode::code_t { FAILURE = 0 , SUCCESS = 1 , NO_INTERFACE , VERSMISMATCH , LAST_ERROR } |
Return status. More... | |
using | iid = Gaudi::InterfaceId<IInterface, 0, 0> |
Interface ID. | |
using | ext_iids = Gaudi::interface_list<iid> |
Extra interfaces. | |
![]() | |
static const InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. | |
![]() | |
virtual unsigned long | decRef () const =0 |
Decrement reference count and return the new reference count. | |
IScheduler::DeclareInterfaceID | ( | IScheduler | , |
1 | , | ||
0 | ) |
|
inlinevirtual |
Definition at line 49 of file IScheduler.h.
|
pure virtual |
Get the free event processing slots.
|
pure virtual |
Retrieve a finished event from the scheduler.
|
pure virtual |
Make an event available to the scheduler.
|
pure virtual |
Make a list of events available to the scheduler This method makes a bunch creation of new events atomic to the scheduler.
|
pure virtual |
|
pure virtual |
Method to inform the scheduler about event views.
|
pure virtual |
Try to retrieve a finished event from the scheduler.