00001 #define TRACE_NAME "requestReceiver" 00002 00003 #include <boost/program_options.hpp> 00004 #include "fhiclcpp/make_ParameterSet.h" 00005 namespace bpo = boost::program_options; 00006 00007 #include "artdaq/DAQrate/RequestReceiver.hh" 00008 #include "artdaq-core/Utilities/configureMessageFacility.hh" 00009 #include "artdaq/Application/LoadParameterSet.hh" 00010 00011 int main(int argc, char* argv[]) 00012 { 00013 artdaq::configureMessageFacility("requestReceiver"); 00014 00015 auto pset = LoadParameterSet<artdaq::RequestReceiver::Config>(argc, argv, "receiver", "This is a simple application which listens for Data Request messages and prints their contents"); 00016 00017 int rc = 0; 00018 00019 fhicl::ParameterSet tempPset; 00020 if (pset.has_key("request_receiver")) 00021 { 00022 tempPset = pset.get<fhicl::ParameterSet>("request_receiver"); 00023 } 00024 else 00025 { 00026 tempPset = pset; 00027 } 00028 00029 artdaq::RequestReceiver recvr(tempPset); 00030 recvr.startRequestReceiverThread(); 00031 00032 while (true) 00033 { 00034 for (auto req : recvr.GetRequests()) 00035 { 00036 TLOG(TLVL_INFO) << "Received Request for Sequence ID " << std::to_string(req.first) << ", timestamp " << std::to_string(req.second) ; 00037 } 00038 recvr.ClearRequests(); 00039 usleep(10000); 00040 } 00041 00042 return rc; 00043 }