11#ifndef O2_FRAMEWORK_SERVICESPEC_H_
12#define O2_FRAMEWORK_SERVICESPEC_H_
16#include <fairmq/FwdDecls.h>
31struct ServiceRegistry;
32struct ServiceRegistryRef;
34struct ProcessingContext;
35class EndOfStreamContext;
37struct WorkflowSpecNode;
39struct ServiceMetricsInfo;
41struct DriverServerContext;
140 std::string
name =
"please specify name";
GLuint const GLchar * name
GLsizei GLenum const void GLuint GLsizei GLfloat * metrics
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
Defining PrimaryVertex explicitly as messageable.
std::vector< ServiceSpec > ServiceSpecs
std::function< void(ServiceRegistryRef)> ServicePostForkParent
ServiceHandle(*)(ServiceRegistryRef, DeviceState &, fair::mq::ProgOptions &) ServiceInit
A callback to create a given Service.
ServiceKind
The kind of service we are asking for.
void(*)(ServiceMetricsInfo const &metrics) ServiceSummaryHandling
void(*)(WorkflowSpecNode &, ConfigContext const &) ServiceTopologyAdjust
Callback invoked when we amend the topology.
void(*)(ServiceRegistryRef, void *) ServiceStopCallback
A callback invoked whenever we stop running, after the user processing callback.
void(*)(ServiceRegistryRef, DeviceConfig const &) ServicePostSchedule
Callback executed after each redeployment of the whole configuration.
void(*)(ProcessingContext &, void *) ServicePostForwarding
Callback executed in the child after late forwarding happened.
void(*)(ServiceRegistryRef, void *) ServiceExitCallback
A callback invoked whenever we stop running completely, before we exit.
void(*)(ServiceRegistryRef, DeviceConfig const &) ServicePreSchedule
Callback executed before each redeployment of the whole configuration.
void(*)(ServiceRegistryRef, fair::mq::Parts &, ChannelIndex channel) ServicePreSendingMessages
Callback invoked whenever we are about sending a message.
void(*)(ServiceRegistryRef, DeviceConfig const &) ServiceDriverStartup
Callback invoked when the driver enters the init phase.
void(*)(WorkflowSpecNode &, ConfigContext &) ServiceTopologyInject
Callback invoked when we inject internal devices in the topology.
void(*)(EndOfStreamContext &, void *) ServiceEOSCallback
A callback which is executed before the end of stream loop.
std::vector< OverrideServiceSpec > OverrideServiceSpecs
std::function< void(ServiceRegistryRef, DeviceConfig const &)> ServicePreFork
void(*)(ServiceRegistryRef) ServicePostRenderGUI
void *(*)(InitContext &, void *) ServiceConfigureCallback
void(*)(ServiceRegistryRef, size_t tileslice, ChannelIndex channel) ServiceDomainInfoUpdated
Callback invoked whenever we get updated about the oldest possible timeslice we can process.
std::function< unsigned int()> ServiceId
A callback which returns the uniqueId of the service when invoked.
void(*)(ServiceRegistryRef, DeviceConfig const &) ServiceDriverInit
Callback invoked when the driver enters the init phase.
void(*)(ProcessingContext &, void *) ServiceProcessingCallback
A callback which is executed before each processing loop.
void(*)(ProcessingContext &, void *) ServicePostDispatching
Callback executed in the child after dispatching happened.
void(*)(DanglingContext &, void *) ServiceDanglingCallback
A callback which is executed before each dangling input loop.
std::function< void(ServiceRegistryRef)> ServicePostForkChild
void(*)(ServiceRegistryRef, ServiceMetricsInfo const &, size_t timestamp) ServiceMetricHandling
Callback executed in the driver in order to process a metric.
void(*)(ServiceRegistryRef, void *) ServicePreLoop
void(*)(ServiceRegistryRef, void *) ServiceStartCallback
A callback invoked whenever we start running, before the user processing callback.
Running state information of a given device.
ServiceDanglingCallback callback
ServicePostDispatching callback
ServiceDomainInfoUpdated callback
ServiceEOSCallback callback
ServiceExitCallback callback
ServicePostForwarding callback
virtual ServiceSpec * create()=0
ServicePostRenderGUI callback
ServicePreSendingMessages callback
ServiceProcessingCallback callback
static OverrideServiceSpecs parseOverrides(char const *overrideString)
static ServiceSpecs filterDisabled(ServiceSpecs originals, OverrideServiceSpecs const &overrides)
ServiceDanglingCallback postDangling
Callback executed after the dangling inputs loop.
ServiceExitCallback exit
Callback invoked on exit.
bool active
Active flag. If set to false, the service will not be used by default.
ServiceProcessingCallback preProcessing
Callback executed before actual processing happens.
ServicePostSchedule postSchedule
ServiceInit init
Callback to initialise the service.
ServicePreLoop preLoop
Callback invoked before the loop starts.
ServiceDomainInfoUpdated domainInfoUpdated
Callback invoked when we get updated about the oldest possible timeslice we can process.
ServiceDriverStartup driverStartup
Callback invoked when starting the driver.
ServicePreSchedule preSchedule
Callback executed before and after we schedule a topology.
ServiceDanglingCallback preDangling
Callback executed before the dangling inputs loop.
ServicePostForwarding postForwarding
ServiceConfigureCallback configure
Callback to configure the service.
ServiceStopCallback stop
Callback invoked on Start.
ServiceMetricHandling metricHandling
Callback executed after each metric is received by the driver.
ServiceTopologyInject injectTopology
Callback invoked when doing topology creation.
ServiceSummaryHandling summaryHandling
Callback invoked on the driver quitting.
ServiceEOSCallback preEOS
Callback executed before the end of stream callback of the user happended.
ServicePreSendingMessages preSendingMessages
Callback invoked when we are about sending a message.
ServiceProcessingCallback postProcessing
Callback executed once actual processing happened.
ServicePostRenderGUI postRenderGUI
Callback invoked after the main GUI has been drawn.
ServiceId uniqueId
Callback to get the unique id for the Service.
ServiceProcessingCallback finaliseOutputs
ServicePostDispatching postDispatching
ServiceKind kind
Kind of service being specified.
ServiceTopologyAdjust adjustTopology
Callback invoked when finalising topology creation.
ServicePostForkChild postForkChild
ServiceDriverInit driverInit
Callback invoked on driver entering the INIT state.
ServiceEOSCallback postEOS
Callback executed after the end of stream callback of the user happended.
ServicePostForkParent postForkParent
Callback executed after forking a given device in the driver.
ServiceStartCallback callback
ServiceStartCallback callback
ServiceStopCallback callback