Project
Loading...
Searching...
No Matches
DataProcessingHelpers.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11#ifndef O2_FRAMEWORK_DATAPROCESSINGHELPERS_H_
12#define O2_FRAMEWORK_DATAPROCESSINGHELPERS_H_
13
14#include <cstddef>
15
16namespace o2::framework
17{
18struct ServiceRegistryRef;
19struct ForwardChannelInfo;
20struct ForwardChannelState;
21struct OutputChannelInfo;
22struct OutputChannelSpec;
23struct OutputChannelState;
24struct ProcessingPolicies;
25struct DeviceSpec;
26enum struct StreamingState;
27enum struct TransitionHandlingState;
28
35 static void sendEndOfStream(ServiceRegistryRef const& ref, OutputChannelSpec const& channel);
37 static bool sendOldestPossibleTimeframe(ServiceRegistryRef const& ref, ForwardChannelInfo const& info, ForwardChannelState& state, size_t timeslice);
39 static bool sendOldestPossibleTimeframe(ServiceRegistryRef const& ref, OutputChannelInfo const& info, OutputChannelState& state, size_t timeslice);
41 static void broadcastOldestPossibleTimeslice(ServiceRegistryRef const& ref, size_t timeslice);
43 static void switchState(ServiceRegistryRef const& ref, StreamingState newState);
45 static bool hasOnlyGenerated(DeviceSpec const& spec);
48};
49
50} // namespace o2::framework
51#endif // O2_FRAMEWORK_DATAPROCESSINGHELPERS_H_
benchmark::State & state
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 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.
Definition ChannelInfo.h:88
Output channel information.
Definition ChannelInfo.h:73