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)
38 queue_.setReaderIsReady();
41 void SimpleQueueReader::run()
43 std::size_t eventsSeen = 0;
44 char * doPrint = getenv(
"VERBOSE_QUEUE_READING");
46 RawEvent_ptr rawEventPtr;
47 if (queue_.deqNowait(rawEventPtr)) {
49 if (!rawEventPtr) {
break; }
52 if (doPrint) { std::cout << *rawEventPtr << std::endl; }
55 std::this_thread::sleep_for(std::chrono::milliseconds(250));
58 if (expectedEventCount_ && eventsSeen != expectedEventCount_)
60 std::ostringstream os;
61 os <<
"Wrong number of events in SimpleQueueReader ("
62 << eventsSeen <<
" != " << expectedEventCount_ <<
").\n";