11#ifndef O2_FRAMEWORK_FAIRMQDEVICEPROXY_H_
12#define O2_FRAMEWORK_FAIRMQDEVICEPROXY_H_
22#include <fairmq/FwdDecls.h>
40 void bind(std::vector<OutputRoute>
const& outputs, std::vector<InputRoute>
const& inputs,
94 std::vector<OutputRoute> mOutputs;
95 std::vector<RouteState> mOutputRoutes;
96 std::vector<OutputChannelInfo> mOutputChannelInfos;
97 std::vector<OutputChannelState> mOutputChannelStates;
99 std::vector<InputRoute> mInputs;
100 std::vector<RouteState> mInputRoutes;
101 std::vector<fair::mq::Channel*> mInputChannels;
102 std::vector<std::string> mInputChannelNames;
104 std::vector<ForwardRoute> mForwards;
105 std::vector<RouteState> mForwardRoutes;
106 std::vector<ForwardChannelInfo> mForwardChannelInfos;
107 std::vector<ForwardChannelState> mForwardChannelStates;
109 std::function<bool()> mStateChangeCallback;
size_t getNumForwardChannels() const
std::unique_ptr< fair::mq::Message > createOutputMessage(RouteIndex routeIndex) const
size_t getNumForwards() const
ForwardChannelState & getForwardChannelState(ChannelIndex channelIndex)
Retrieve information associated to a given forward by ChannelIndex.
fair::mq::TransportFactory * getForwardTransport(RouteIndex routeIndex) const
Retrieve the transport associated to a given route.
OutputChannelState & getOutputChannelState(ChannelIndex channelIndex)
Retrieve information associated to a given forward by ChannelIndex.
size_t getNumInputChannels() const
ChannelIndex getInputChannelIndexByName(std::string const &channelName) const
ChannelIndex from a given channel name.
ChannelIndex getForwardChannelIndexByName(std::string const &channelName) const
ChannelIndex from a given channel name.
ChannelIndex getForwardChannelIndex(RouteIndex routeIndex) const
FairMQDeviceProxy()=default
void getMatchingForwardChannelIndexes(std::vector< ChannelIndex > &result, header::DataHeader const &header, size_t timeslice) const
Retrieve the channel index from a given OutputSpec and the associated timeslice.
ForwardChannelInfo const & getForwardChannelInfo(ChannelIndex channelIndex) const
Retrieve information associated to a given forward by ChannelIndex.
ChannelIndex getOutputChannelIndexByName(std::string const &channelName) const
ChannelIndex from a given channel name.
bool newStateRequested() const
fair::mq::Channel * getForwardChannel(ChannelIndex channelIndex) const
fair::mq::TransportFactory * getOutputTransport(RouteIndex routeIndex) const
Retrieve the transport associated to a given route.
size_t getNumOutputChannels() const
ChannelIndex getOutputChannelIndex(OutputSpec const &spec, size_t timeslice) const
Retrieve the channel index from a given OutputSpec and the associated timeslice.
fair::mq::Channel * getOutputChannel(ChannelIndex channelIndex) const
void bind(std::vector< OutputRoute > const &outputs, std::vector< InputRoute > const &inputs, std::vector< ForwardRoute > const &forwards, fair::mq::Device &device)
std::unique_ptr< fair::mq::Message > createForwardMessage(RouteIndex routeIndex) const
fair::mq::Channel * getInputChannel(ChannelIndex channelIndex) const
Retrieve the channel associated to a given output route.
ChannelIndex getInputChannelIndex(RouteIndex routeIndex) const
OutputChannelInfo const & getOutputChannelInfo(ChannelIndex channelIndex) const
Retrieve information associated to a given forward by ChannelIndex.
fair::mq::TransportFactory * getInputTransport(RouteIndex routeIndex) const
Retrieve the transport associated to a given route.
std::unique_ptr< fair::mq::Message > createInputMessage(RouteIndex routeIndex) const
FairMQDeviceProxy(FairMQDeviceProxy const &)=delete
Defining PrimaryVertex explicitly as messageable.
Forward channel information.
Output channel information.