LCOV - code coverage report
Current view: top level - proto - requestReceiver.cc (source / functions) Coverage Total Hit
Test: artdaq.info.cleaned Lines: 0.0 % 25 0
Test Date: 2025-09-04 00:45:34 Functions: 0.0 % 2 0

            Line data    Source code
       1              : #define TRACE_NAME "requestReceiver"
       2              : 
       3              : #include <boost/program_options.hpp>
       4              : 
       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"
       9              : 
      10            0 : int main(int argc, char* argv[])
      11              : {
      12            0 :         artdaq::configureMessageFacility("requestReceiver");
      13              : 
      14            0 :         auto pset = LoadParameterSet<artdaq::RequestReceiver::Config>(argc, argv, "receiver", "This is a simple application which listens for Data Request messages and prints their contents");
      15              : 
      16            0 :         int rc = 0;
      17              : 
      18            0 :         fhicl::ParameterSet tempPset;
      19            0 :         if (pset.has_key("daq"))
      20              :         {
      21            0 :                 fhicl::ParameterSet daqPset = pset.get<fhicl::ParameterSet>("daq");
      22            0 :                 for (auto& name : daqPset.get_pset_names())
      23              :                 {
      24            0 :                         auto thisPset = daqPset.get<fhicl::ParameterSet>(name);
      25            0 :                         if (thisPset.has_key("receive_requests"))
      26              :                         {
      27            0 :                                 tempPset = thisPset;
      28              :                         }
      29            0 :                 }
      30            0 :         }
      31            0 :         else if (pset.has_key("request_receiver"))
      32              :         {
      33            0 :                 tempPset = pset.get<fhicl::ParameterSet>("request_receiver");
      34              :         }
      35              :         else
      36              :         {
      37            0 :                 tempPset = pset;
      38              :         }
      39              : 
      40            0 :         auto buffer = std::make_shared<artdaq::RequestBuffer>(tempPset.get<artdaq::Fragment::sequence_id_t>("request_increment", 1));
      41            0 :         artdaq::RequestReceiver recvr(tempPset, buffer);
      42            0 :         recvr.startRequestReception();
      43              : 
      44              :         while (true)
      45              :         {
      46            0 :                 for (auto req : buffer->GetAndClearRequests())
      47              :                 {
      48            0 :                         TLOG(TLVL_INFO) << "Received Request for Sequence ID " << req.first << ", timestamp " << req.second;
      49            0 :                 }
      50            0 :                 usleep(10000);
      51            0 :         }
      52              : 
      53              :         return rc;
      54            0 : }
        

Generated by: LCOV version 2.0-1