24 int main(
int argc,
const char *argv[])
37 JParser<> zap(
"Auxiliary program to receive messages from ControlHost server.");
43 zap[
'n'] =
make_field(numberOfEvents) = numeric_limits<int>::max();
51 catch(
const exception &error) {
52 FATAL(error.what() << endl);
56 if (tagList.empty() && TagList.empty())
57 FATAL(
"No tags specified.");
61 JControlHost::Throw(
true);
65 JControlHost
in(hostname);
68 JSubscriptionList buffer;
71 buffer.add(JSubscriptionAny(*i));
75 buffer.add(JSubscriptionAll(*i));
78 DEBUG(
"Subscription: " << buffer.toString() << endl);
84 JTimekeeper timer((
long long int) (1.0e6 / rate_Hz));
94 for (
int i = 1; i <= numberOfEvents; ++i) {
105 buffer.resize(prefix.getSize());
107 in.GetFullData(buffer.data(), buffer.size());
109 if (TagList.find(prefix) != TagList.end()) { ++all; }
110 if (tagList.find(prefix) != tagList.end()) { ++few; }
116 DEBUG(
"Time [us] " << setw(10) << t1 - t0 << endl);
117 DEBUG(
"<delay> [us] " << setw(10) << timer.getDelay() / i << endl);
118 DEBUG(
"Count all " << setw(10) << all << endl);
119 DEBUG(
"Count few " << setw(10) << few << endl);
126 catch(
const JControlHostException& error) {
127 ERROR(error << endl);
Utility class to parse command line options.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Scheduling of actions via fixed latency intervals.
static const JLocalTime getLocalTime
Function object to get local time in micro seconds.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
General purpose messaging.
Utility class to parse command line options.
#define DEBUG(A)
Message macros.
int main(int argc, char *argv[])