![]() |
The Gaudi Framework
v36r6 (b1ee9983)
|
Extend IEventProcessor for asynchronous scheduling of events via queue-like interface. More...
#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Interfaces/IQueueingEventProcessor.h>


Public Types | |
| using | ResultType = std::tuple< StatusCode, EventContext > |
| Type of objects in the output queue. More... | |
Public Types inherited from IInterface | |
| enum | Status : StatusCode::code_t { Status::FAILURE = 0, Status::SUCCESS = 1, Status::NO_INTERFACE, Status::VERSMISMATCH, Status::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... | |
Public Member Functions | |
| DeclareInterfaceID (IQueueingEventProcessor, 1, 0) | |
| virtual void | push (EventContext &&ctx)=0 |
| Schedule the processing of an event. More... | |
| virtual bool | empty () const =0 |
| Tell if the processor has events in the queues. More... | |
| virtual std::optional< ResultType > | pop ()=0 |
| Get the next available result. More... | |
Public Member Functions inherited from IEventProcessor | |
| DeclareInterfaceID (IEventProcessor, 4, 0) | |
| InterfaceID. More... | |
| virtual EventContext | createEventContext ()=0 |
| virtual StatusCode | executeEvent (EventContext &&ctx)=0 |
| Process single event. More... | |
| virtual StatusCode | executeRun (int maxevt)=0 |
| Process the maxevt events as a Run. More... | |
| virtual StatusCode | nextEvent (int maxevt)=0 |
| Process the next maxevt events. More... | |
| virtual StatusCode | stopRun ()=0 |
| Schedule a stop of the current event processing. More... | |
Public Member Functions inherited from IInterface | |
| virtual void * | i_cast (const InterfaceID &) const =0 |
| main cast function More... | |
| virtual std::vector< std::string > | getInterfaceNames () 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 | |
Static Public Member Functions inherited from IInterface | |
| static const InterfaceID & | interfaceID () |
| Return an instance of InterfaceID identifying the interface. More... | |
Extend IEventProcessor for asynchronous scheduling of events via queue-like interface.
Definition at line 21 of file IQueueingEventProcessor.h.
Type of objects in the output queue.
Definition at line 25 of file IQueueingEventProcessor.h.
| Gaudi::Interfaces::IQueueingEventProcessor::DeclareInterfaceID | ( | IQueueingEventProcessor | , |
| 1 | , | ||
| 0 | |||
| ) |
|
pure virtual |
Tell if the processor has events in the queues.
Useful to know when all the work has been done (including retrieving the results).
|
pure virtual |
Get the next available result.
If none is available, return std::nullopt.
|
pure virtual |
Schedule the processing of an event.
May block, depending on the concrete implementation.