artdaq  v3_07_01
requestReceiver.cc
1 #define TRACE_NAME "requestReceiver"
2 
3 #include <boost/program_options.hpp>
4 #include "fhiclcpp/make_ParameterSet.h"
5 namespace bpo = boost::program_options;
6 
7 #include "artdaq-core/Utilities/configureMessageFacility.hh"
8 #include "artdaq/Application/LoadParameterSet.hh"
9 #include "artdaq/DAQrate/RequestReceiver.hh"
10 
11 int main(int argc, char* argv[])
12 {
13  artdaq::configureMessageFacility("requestReceiver");
14 
15  auto pset = LoadParameterSet<artdaq::RequestReceiver::Config>(argc, argv, "receiver", "This is a simple application which listens for Data Request messages and prints their contents");
16 
17  int rc = 0;
18 
19  fhicl::ParameterSet tempPset;
20  if (pset.has_key("request_receiver"))
21  {
22  tempPset = pset.get<fhicl::ParameterSet>("request_receiver");
23  }
24  else
25  {
26  tempPset = pset;
27  }
28 
29  artdaq::RequestReceiver recvr(tempPset);
30  recvr.startRequestReception();
31 
32  while (true)
33  {
34  for (auto req : recvr.GetAndClearRequests())
35  {
36  TLOG(TLVL_INFO) << "Received Request for Sequence ID " << req.first << ", timestamp " << req.second;
37  }
38  usleep(10000);
39  }
40 
41  return rc;
42 }
Receive data requests and make them available to CommandableFragmentGenerator or other interested par...