artdaq  v3_08_00
NoOp_policy.cc
1 #include "artdaq/RoutingPolicies/PolicyMacros.hh"
2 #include "artdaq/RoutingPolicies/RoutingMasterPolicy.hh"
3 #include "fhiclcpp/ParameterSet.h"
4 #include "tracemf.h"
5 #define TRACE_NAME "NoOp_policy"
6 namespace artdaq {
11 {
12 public:
19  explicit NoOpPolicy(fhicl::ParameterSet ps)
20  : 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 } // namespace artdaq
48 
49 DEFINE_ARTDAQ_ROUTING_POLICY(artdaq::NoOpPolicy)
NoOpPolicy(fhicl::ParameterSet ps)
NoOpPolicy Constructor.
Definition: NoOp_policy.cc:19
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:10
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