| The Gaudi Framework v32r1 (f65d50dc)

IAsyncEventProcessor.h
Go to the documentation of this file.
1 #pragma once
2
3 #include <GaudiKernel/EventContext.h>
4 #include <GaudiKernel/IEventProcessor.h>
5 #include <future>
6 #include <tuple>
7
8 namespace Gaudi::Interfaces {
10 struct IAsyncEventProcessor : virtual IEventProcessor {
11 DeclareInterfaceID( IAsyncEventProcessor, 1, 0 );
12
16 virtual std::future<std::tuple<StatusCode, EventContext>> asyncExecuteEvent( EventContext&& ctx ) = 0;
17 };
18 } // namespace Gaudi::Interfaces
IEventProcessor.h
Gaudi::Interfaces::IAsyncEventProcessor
Extend IEventProcessor for asynchronous scheduling of events.
Definition: IAsyncEventProcessor.h:10
Gaudi::Interfaces::IAsyncEventProcessor::asyncExecuteEvent
virtual std::future< std::tuple< StatusCode, EventContext > > asyncExecuteEvent(EventContext &&ctx)=0
Schedule the processing of the given event.
EventContext.h
std::future
EventContext
This class represents an entry point to all the event specific data.
Definition: EventContext.h:24
Gaudi::Interfaces
Definition: IAsyncEventProcessor.h:8
Gaudi::Interfaces::IAsyncEventProcessor::DeclareInterfaceID
DeclareInterfaceID(IAsyncEventProcessor, 1, 0)
IEventProcessor
The IEventProcessor is the interface to process events.
Definition: IEventProcessor.h:14