Project
Loading...
Searching...
No Matches
o2::framework::DataProcessorContext Struct Reference

#include <DataProcessingContext.h>

Public Member Functions

 DataProcessorContext (DataProcessorContext const &)=delete
 
 DataProcessorContext ()=default
 
void preStartCallbacks (ServiceRegistryRef)
 Invoke callbacks to be executed in PreRun(), before the User Start callbacks.
 
void preProcessingCallbacks (ProcessingContext &)
 Invoke callbacks to be executed before every process method invokation.
 
void finaliseOutputsCallbacks (ProcessingContext &)
 
void postProcessingCallbacks (ProcessingContext &)
 Invoke callbacks to be executed after every process method invokation.
 
void preDanglingCallbacks (DanglingContext &)
 Invoke callbacks to be executed before every dangling check.
 
void postDanglingCallbacks (DanglingContext &)
 Invoke callbacks to be executed after every dangling check.
 
void preEOSCallbacks (EndOfStreamContext &)
 Invoke callbacks to be executed before every EOS user callback invokation.
 
void postEOSCallbacks (EndOfStreamContext &)
 Invoke callbacks to be executed after every EOS user callback invokation.
 
void postDispatchingCallbacks (ProcessingContext &)
 Invoke callbacks to be executed after every data Dispatching.
 
void postForwardingCallbacks (ProcessingContext &)
 Callback invoked after the late forwarding has been done.
 
void postStopCallbacks (ServiceRegistryRef)
 Invoke callbacks on stop.
 
void preLoopCallbacks (ServiceRegistryRef)
 Invoke callbacks before we enter the event loop.
 
void domainInfoUpdatedCallback (ServiceRegistryRef, size_t oldestPossibleTimeslice, ChannelIndex channelIndex)
 Invoke whenever we get a new DomainInfo message.
 
void preSendingMessagesCallbacks (ServiceRegistryRef, fair::mq::Parts &parts, ChannelIndex channelindex)
 Invoke before sending messages parts on a channel channelindex.
 

Static Public Member Functions

static void preExitCallbacks (std::vector< ServiceExitHandle >, ServiceRegistryRef)
 Invoke callback to be executed on exit, in reverse order.
 

Public Attributes

bool allDone = false
 
int64_t lastRunNumberProcessed = -1
 Latest run number we processed globally for this DataProcessor.
 
ServiceRegistryregistry = nullptr
 
std::vector< DataRelayer::RecordActioncompleted
 
std::vector< ExpirationHandlerexpirationHandlers
 
AlgorithmSpec::InitCallback init
 
AlgorithmSpec::ProcessCallback statefulProcess
 
AlgorithmSpec::ProcessCallback statelessProcess
 
AlgorithmSpec::ErrorCallback error = nullptr
 
AlgorithmSpec::InitErrorCallback initError = nullptr
 
DataProcessorSpecspec = nullptr
 
std::vector< ServiceProcessingHandlepreProcessingHandlers
 
std::vector< ServiceProcessingHandlefinaliseOutputsHandles
 
std::vector< ServiceProcessingHandlepostProcessingHandlers
 
std::vector< ServiceDanglingHandlepreDanglingHandles
 Callbacks for services to be executed before every dangling check.
 
std::vector< ServiceDanglingHandlepostDanglingHandles
 Callbacks for services to be executed after every dangling check.
 
std::vector< ServiceEOSHandlepreEOSHandles
 Callbacks for services to be executed before every EOS user callback invokation.
 
std::vector< ServiceEOSHandlepostEOSHandles
 Callbacks for services to be executed after every EOS user callback invokation.
 
std::vector< ServiceDispatchingHandlepostDispatchingHandles
 Callbacks for services to be executed after every dispatching.
 
std::vector< ServiceForwardingHandlepostForwardingHandles
 Callbacks for services to be executed after every dispatching.
 
std::vector< ServiceStartHandlepreStartHandles
 Callbacks for services to be executed before Start.
 
std::vector< ServiceStopHandlepostStopHandles
 Callbacks for services to be executed on the Stop transition.
 
std::vector< ServiceExitHandlepreExitHandles
 Callbacks for services to be executed on exit.
 
std::vector< ServiceDomainInfoHandledomainInfoHandles
 Callbacks for services to be executed on exit.
 
std::vector< ServicePreSendingMessagesHandlepreSendingMessagesHandles
 Callbacks for services to be executed before sending messages.
 
std::vector< ServicePreLoopHandlepreLoopHandles
 Callbacks for services to be executed before we enter the event loop.
 
bool canForwardEarly = true
 Wether or not the associated DataProcessor can forward things early.
 
bool isSink = false
 
bool balancingInputs = true
 
std::function< void(o2::framework::RuntimeErrorRef e, InputRecord &record)> errorHandling
 
std::function< void(o2::framework::RuntimeErrorRef e)> initErrorHandling
 

Detailed Description

Definition at line 26 of file DataProcessingContext.h.

Constructor & Destructor Documentation

◆ DataProcessorContext() [1/2]

o2::framework::DataProcessorContext::DataProcessorContext ( DataProcessorContext const &  )
delete

◆ DataProcessorContext() [2/2]

o2::framework::DataProcessorContext::DataProcessorContext ( )
default

Member Function Documentation

◆ domainInfoUpdatedCallback()

void o2::framework::DataProcessorContext::domainInfoUpdatedCallback ( ServiceRegistryRef  ref,
size_t  oldestPossibleTimeslice,
ChannelIndex  channelIndex 
)

Invoke whenever we get a new DomainInfo message.

Definition at line 131 of file DataProcessingContext.cxx.

◆ finaliseOutputsCallbacks()

void o2::framework::DataProcessorContext::finaliseOutputsCallbacks ( ProcessingContext ctx)

Invoke callbacks to be executed after the outputs have been created by the processing, but before the post processing callbacks.

Definition at line 51 of file DataProcessingContext.cxx.

◆ postDanglingCallbacks()

void o2::framework::DataProcessorContext::postDanglingCallbacks ( DanglingContext ctx)

Invoke callbacks to be executed after every dangling check.

Definition at line 69 of file DataProcessingContext.cxx.

◆ postDispatchingCallbacks()

void o2::framework::DataProcessorContext::postDispatchingCallbacks ( ProcessingContext ctx)

Invoke callbacks to be executed after every data Dispatching.

Invoke callbacks to monitor inputs after dispatching, regardless of them being discarded, consumed or processed.

Definition at line 87 of file DataProcessingContext.cxx.

◆ postEOSCallbacks()

void o2::framework::DataProcessorContext::postEOSCallbacks ( EndOfStreamContext ctx)

Invoke callbacks to be executed after every EOS user callback invokation.

Definition at line 81 of file DataProcessingContext.cxx.

◆ postForwardingCallbacks()

void o2::framework::DataProcessorContext::postForwardingCallbacks ( ProcessingContext ctx)

Callback invoked after the late forwarding has been done.

Invoke callbacks to be executed after every data Dispatching.

Definition at line 93 of file DataProcessingContext.cxx.

◆ postProcessingCallbacks()

void o2::framework::DataProcessorContext::postProcessingCallbacks ( ProcessingContext ctx)

Invoke callbacks to be executed after every process method invokation.

Invoke callbacks to be executed before every dangling check.

Definition at line 57 of file DataProcessingContext.cxx.

◆ postStopCallbacks()

void o2::framework::DataProcessorContext::postStopCallbacks ( ServiceRegistryRef  ref)

Invoke callbacks on stop.

Definition at line 104 of file DataProcessingContext.cxx.

◆ preDanglingCallbacks()

void o2::framework::DataProcessorContext::preDanglingCallbacks ( DanglingContext ctx)

Invoke callbacks to be executed before every dangling check.

Definition at line 63 of file DataProcessingContext.cxx.

◆ preEOSCallbacks()

void o2::framework::DataProcessorContext::preEOSCallbacks ( EndOfStreamContext ctx)

Invoke callbacks to be executed before every EOS user callback invokation.

Definition at line 75 of file DataProcessingContext.cxx.

◆ preExitCallbacks()

void o2::framework::DataProcessorContext::preExitCallbacks ( std::vector< ServiceExitHandle handles,
ServiceRegistryRef  ref 
)
static

Invoke callback to be executed on exit, in reverse order.

Invoke callbacks on exit. Note how this is a static helper because otherwise we would need to handle differently the deletion of the DataProcessingContext itself.

I guess...

Definition at line 110 of file DataProcessingContext.cxx.

◆ preLoopCallbacks()

void o2::framework::DataProcessorContext::preLoopCallbacks ( ServiceRegistryRef  ref)

Invoke callbacks before we enter the event loop.

Invoke callback to be executed on exit, in reverse order.

Definition at line 126 of file DataProcessingContext.cxx.

◆ preProcessingCallbacks()

void o2::framework::DataProcessorContext::preProcessingCallbacks ( ProcessingContext ctx)

Invoke callbacks to be executed before every process method invokation.

Invoke callbacks to be executed before every dangling check.

Definition at line 46 of file DataProcessingContext.cxx.

◆ preSendingMessagesCallbacks()

void o2::framework::DataProcessorContext::preSendingMessagesCallbacks ( ServiceRegistryRef  ref,
fair::mq::Parts &  parts,
ChannelIndex  channelindex 
)

Invoke before sending messages parts on a channel channelindex.

Definition at line 144 of file DataProcessingContext.cxx.

◆ preStartCallbacks()

void o2::framework::DataProcessorContext::preStartCallbacks ( ServiceRegistryRef  ref)

Invoke callbacks to be executed in PreRun(), before the User Start callbacks.

Callbacks to be called in fair::mq::Device::PreRun()

Invoke callbacks to be executed before starting the processing loop

Definition at line 99 of file DataProcessingContext.cxx.

Member Data Documentation

◆ allDone

bool o2::framework::DataProcessorContext::allDone = false

Definition at line 30 of file DataProcessingContext.h.

◆ balancingInputs

bool o2::framework::DataProcessorContext::balancingInputs = true

Definition at line 127 of file DataProcessingContext.h.

◆ canForwardEarly

bool o2::framework::DataProcessorContext::canForwardEarly = true

Wether or not the associated DataProcessor can forward things early.

Definition at line 125 of file DataProcessingContext.h.

◆ completed

std::vector<DataRelayer::RecordAction> o2::framework::DataProcessorContext::completed

Definition at line 40 of file DataProcessingContext.h.

◆ domainInfoHandles

std::vector<ServiceDomainInfoHandle> o2::framework::DataProcessorContext::domainInfoHandles
mutable

Callbacks for services to be executed on exit.

Definition at line 118 of file DataProcessingContext.h.

◆ error

AlgorithmSpec::ErrorCallback o2::framework::DataProcessorContext::error = nullptr

Definition at line 45 of file DataProcessingContext.h.

◆ errorHandling

std::function<void(o2::framework::RuntimeErrorRef e, InputRecord& record)> o2::framework::DataProcessorContext::errorHandling

Definition at line 129 of file DataProcessingContext.h.

◆ expirationHandlers

std::vector<ExpirationHandler> o2::framework::DataProcessorContext::expirationHandlers

Definition at line 41 of file DataProcessingContext.h.

◆ finaliseOutputsHandles

std::vector<ServiceProcessingHandle> o2::framework::DataProcessorContext::finaliseOutputsHandles
mutable

Callback for services to be executed after every processing. The callback MUST BE REENTRANT and threadsafe.

Definition at line 95 of file DataProcessingContext.h.

◆ init

AlgorithmSpec::InitCallback o2::framework::DataProcessorContext::init

Definition at line 42 of file DataProcessingContext.h.

◆ initError

AlgorithmSpec::InitErrorCallback o2::framework::DataProcessorContext::initError = nullptr

Definition at line 46 of file DataProcessingContext.h.

◆ initErrorHandling

std::function<void(o2::framework::RuntimeErrorRef e)> o2::framework::DataProcessorContext::initErrorHandling

Definition at line 130 of file DataProcessingContext.h.

◆ isSink

bool o2::framework::DataProcessorContext::isSink = false

Definition at line 126 of file DataProcessingContext.h.

◆ lastRunNumberProcessed

int64_t o2::framework::DataProcessorContext::lastRunNumberProcessed = -1

Latest run number we processed globally for this DataProcessor.

Definition at line 32 of file DataProcessingContext.h.

◆ postDanglingHandles

std::vector<ServiceDanglingHandle> o2::framework::DataProcessorContext::postDanglingHandles
mutable

Callbacks for services to be executed after every dangling check.

Definition at line 102 of file DataProcessingContext.h.

◆ postDispatchingHandles

std::vector<ServiceDispatchingHandle> o2::framework::DataProcessorContext::postDispatchingHandles
mutable

Callbacks for services to be executed after every dispatching.

Definition at line 108 of file DataProcessingContext.h.

◆ postEOSHandles

std::vector<ServiceEOSHandle> o2::framework::DataProcessorContext::postEOSHandles
mutable

Callbacks for services to be executed after every EOS user callback invokation.

Definition at line 106 of file DataProcessingContext.h.

◆ postForwardingHandles

std::vector<ServiceForwardingHandle> o2::framework::DataProcessorContext::postForwardingHandles
mutable

Callbacks for services to be executed after every dispatching.

Definition at line 110 of file DataProcessingContext.h.

◆ postProcessingHandlers

std::vector<ServiceProcessingHandle> o2::framework::DataProcessorContext::postProcessingHandlers
mutable

Callback for services to be executed after every processing. The callback MUST BE REENTRANT and threadsafe.

Definition at line 98 of file DataProcessingContext.h.

◆ postStopHandles

std::vector<ServiceStopHandle> o2::framework::DataProcessorContext::postStopHandles
mutable

Callbacks for services to be executed on the Stop transition.

Definition at line 114 of file DataProcessingContext.h.

◆ preDanglingHandles

std::vector<ServiceDanglingHandle> o2::framework::DataProcessorContext::preDanglingHandles
mutable

Callbacks for services to be executed before every dangling check.

Definition at line 100 of file DataProcessingContext.h.

◆ preEOSHandles

std::vector<ServiceEOSHandle> o2::framework::DataProcessorContext::preEOSHandles
mutable

Callbacks for services to be executed before every EOS user callback invokation.

Definition at line 104 of file DataProcessingContext.h.

◆ preExitHandles

std::vector<ServiceExitHandle> o2::framework::DataProcessorContext::preExitHandles
mutable

Callbacks for services to be executed on exit.

Definition at line 116 of file DataProcessingContext.h.

◆ preLoopHandles

std::vector<ServicePreLoopHandle> o2::framework::DataProcessorContext::preLoopHandles
mutable

Callbacks for services to be executed before we enter the event loop.

Definition at line 122 of file DataProcessingContext.h.

◆ preProcessingHandlers

std::vector<ServiceProcessingHandle> o2::framework::DataProcessorContext::preProcessingHandlers
mutable

Callback for services to be executed before every processing. The callback MUST BE REENTRANT and threadsafe.

Definition at line 92 of file DataProcessingContext.h.

◆ preSendingMessagesHandles

std::vector<ServicePreSendingMessagesHandle> o2::framework::DataProcessorContext::preSendingMessagesHandles
mutable

Callbacks for services to be executed before sending messages.

Definition at line 120 of file DataProcessingContext.h.

◆ preStartHandles

std::vector<ServiceStartHandle> o2::framework::DataProcessorContext::preStartHandles
mutable

Callbacks for services to be executed before Start.

Definition at line 112 of file DataProcessingContext.h.

◆ registry

ServiceRegistry* o2::framework::DataProcessorContext::registry = nullptr

Definition at line 39 of file DataProcessingContext.h.

◆ spec

DataProcessorSpec* o2::framework::DataProcessorContext::spec = nullptr

Definition at line 48 of file DataProcessingContext.h.

◆ statefulProcess

AlgorithmSpec::ProcessCallback o2::framework::DataProcessorContext::statefulProcess

Definition at line 43 of file DataProcessingContext.h.

◆ statelessProcess

AlgorithmSpec::ProcessCallback o2::framework::DataProcessorContext::statelessProcess

Definition at line 44 of file DataProcessingContext.h.


The documentation for this struct was generated from the following files: