artdaq  v2_02_03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
NoOp_policy.cc
1 #include "artdaq/Application/Routing/RoutingMasterPolicy.hh"
2 #include "artdaq/Application/Routing/PolicyMacros.hh"
3 #include <fhiclcpp/ParameterSet.h>
4 
5 namespace artdaq
6 {
11  {
12  public:
19  explicit NoOpPolicy(fhicl::ParameterSet ps) : RoutingMasterPolicy(ps) {}
20 
24  virtual ~NoOpPolicy() = default;
25 
31  };
32 
34  {
35  auto tokens = getTokensSnapshot();
36  detail::RoutingPacket output;
37  for(auto token : *tokens.get())
38  {
39  output.emplace_back(detail::RoutingPacketEntry(next_sequence_id_++, token));
40  }
41 
42  return output;
43  }
44 }
45 
46 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:33