1 #include "artdaq-core/Core/SimpleQueueReader.hh"
11 int simpleQueueReaderApp(
int argc,
char **argv)
16 std::istringstream ins(argv[1]);
19 SimpleQueueReader reader(eec);
23 catch (std::string
const & msg) {
24 std::cerr <<
"simpleQueueReaderApp failed: "
34 SimpleQueueReader(std::size_t eec) :
35 queue_(getGlobalQueue()),
36 expectedEventCount_(eec)
39 void SimpleQueueReader::run()
41 std::size_t eventsSeen = 0;
42 char * doPrint = getenv(
"VERBOSE_QUEUE_READING");
44 RawEvent_ptr rawEventPtr;
45 if (queue_.deqNowait(rawEventPtr)) {
47 if (!rawEventPtr) {
break; }
50 if (doPrint) { std::cout << *rawEventPtr << std::endl; }
53 std::this_thread::sleep_for(std::chrono::milliseconds(250));
56 if (expectedEventCount_ && eventsSeen != expectedEventCount_)
58 std::ostringstream os;
59 os <<
"Wrong number of events in SimpleQueueReader ("
60 << eventsSeen <<
" != " << expectedEventCount_ <<
").\n";