1 #define TRACE_NAME "requestReceiver"
3 #include <boost/program_options.hpp>
5 #include "artdaq-core/Utilities/configureMessageFacility.hh"
6 #include "artdaq/Application/LoadParameterSet.hh"
7 #include "artdaq/DAQrate/RequestBuffer.hh"
8 #include "artdaq/DAQrate/detail/RequestReceiver.hh"
10 int main(
int argc,
char* argv[])
12 artdaq::configureMessageFacility(
"requestReceiver");
14 auto pset = LoadParameterSet<artdaq::RequestReceiver::Config>(argc, argv,
"receiver",
"This is a simple application which listens for Data Request messages and prints their contents");
18 fhicl::ParameterSet tempPset;
19 if (pset.has_key(
"daq"))
21 fhicl::ParameterSet daqPset = pset.get<fhicl::ParameterSet>(
"daq");
22 for (
auto& name : daqPset.get_pset_names())
24 auto thisPset = daqPset.get<fhicl::ParameterSet>(name);
25 if (thisPset.has_key(
"receive_requests"))
31 else if (pset.has_key(
"request_receiver"))
33 tempPset = pset.get<fhicl::ParameterSet>(
"request_receiver");
40 auto buffer = std::make_shared<artdaq::RequestBuffer>(tempPset.get<artdaq::Fragment::sequence_id_t>(
"request_increment", 1));
42 recvr.startRequestReception();
46 for (
auto req : buffer->GetAndClearRequests())
48 TLOG(TLVL_INFO) <<
"Received Request for Sequence ID " << req.first <<
", timestamp " << req.second;
Receive data requests and make them available to CommandableFragmentGenerator or other interested par...