11#ifndef O2_FRAMEWORK_DATAPROCESSINGHELPERS_H_
12#define O2_FRAMEWORK_DATAPROCESSINGHELPERS_H_
17#include <fairmq/FwdDecls.h>
22struct ServiceRegistryRef;
23struct ForwardChannelInfo;
24struct ForwardChannelState;
25struct OutputChannelInfo;
26struct OutputChannelSpec;
27struct OutputChannelState;
28struct ProcessingPolicies;
30struct FairMQDeviceProxy;
Defining PrimaryVertex explicitly as messageable.
Generic helpers for DataProcessing releated functions.
static bool hasOnlyGenerated(DeviceSpec const &spec)
check if spec is a source devide
static TransitionHandlingState updateStateTransition(ServiceRegistryRef const &ref, ProcessingPolicies const &policies)
starts the EoS timers and returns the new TransitionHandlingState in case as new state is requested
static void switchState(ServiceRegistryRef const &ref, StreamingState newState)
change the device StreamingState to newState
static void sendEndOfStream(ServiceRegistryRef const &ref, OutputChannelSpec const &channel)
static std::vector< fair::mq::Parts > routeForwardedMessages(FairMQDeviceProxy &proxy, TimesliceSlot slot, std::vector< MessageSet > ¤tSetOfInputs, TimesliceIndex::OldestOutputInfo oldestTimeslice, bool copy, bool consume)
Helper to route messages for forwarding.
static bool sendOldestPossibleTimeframe(ServiceRegistryRef const &ref, ForwardChannelInfo const &info, ForwardChannelState &state, size_t timeslice)
static void broadcastOldestPossibleTimeslice(ServiceRegistryRef const &ref, size_t timeslice)
Broadcast the oldest possible timeslice to all channels in output.
Forward channel information.
Output channel information.