artdaq  v3_04_01
NoOp_policy.cc
1 #include "artdaq/Application/Routing/RoutingMasterPolicy.hh"
2 #include "artdaq/Application/Routing/PolicyMacros.hh"
3 #include "fhiclcpp/ParameterSet.h"
4 #include "tracemf.h"
5 #define TRACE_NAME "NoOp_policy"
6 namespace artdaq
7 {
12  {
13  public:
20  explicit NoOpPolicy(fhicl::ParameterSet ps) : RoutingMasterPolicy(ps) {}
21 
25  virtual ~NoOpPolicy() = default;
26 
32  };
33 
35  {
36  TLOG(12) << "NoOpPolicy::GetCurrentTable start";
37  auto tokens = getTokensSnapshot();
38  detail::RoutingPacket output;
39  for(auto token : *tokens.get())
40  {
41  output.emplace_back(detail::RoutingPacketEntry(next_sequence_id_++, token));
42  }
43 
44  TLOG(12) << "NoOpPolicy::GetCurrentTable return";
45  return output;
46  }
47 }
48 
49 DEFINE_ARTDAQ_ROUTING_POLICY(artdaq::NoOpPolicy)
NoOpPolicy(fhicl::ParameterSet ps)
NoOpPolicy Constructor.
Definition: NoOp_policy.cc:20
A row of the Routing Table.
A RoutingMasterPolicy which simply assigns Sequence IDs to tokens in the order they were received...
Definition: NoOp_policy.cc:11
virtual ~NoOpPolicy()=default
Default virtual Destructor.
The interface through which RoutingMasterCore obtains Routing Tables using received Routing Tokens...
std::vector< RoutingPacketEntry > RoutingPacket
A RoutingPacket is simply a vector of RoutingPacketEntry objects. It is not suitable for network tran...
Fragment::sequence_id_t next_sequence_id_
The next sequence ID to be assigned.
std::unique_ptr< std::deque< int > > getTokensSnapshot()
Gets the current token list, used for building Routing Tables.
detail::RoutingPacket GetCurrentTable() override
Using the tokens received so far, create a Routing Table.
Definition: NoOp_policy.cc:34