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.
Empty structure for specification of parser element that is initialised (i.e.
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[])