24int 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);
84 JTimekeeper timer((
long long int) (1.0e6 / rate_Hz));
94 for (
int i = 1; i <= numberOfEvents; ++i) {
105 buffer.resize(prefix.
getSize());
109 if (TagList.find(prefix) != TagList.end()) { ++all; }
110 if (tagList.find(prefix) != tagList.end()) { ++few; }
114 const long long int t1 = getLocalTime();
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);
127 ERROR(error << endl);
int main(int argc, const char *argv[])
General purpose messaging.
#define DEBUG(A)
Message macros.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Scheduling of actions via fixed latency intervals.
long long int getDelay() const
Get total delay time.
void wait() const
Wait until the number of time intervals has elapsed since the last call to the reset method.
void reset(const long long int t0)
Reset time.
Exception for ControlHost.
int WaitHead(JPrefix &prefix)
Wait for header.
int GetFullData(void *buffer, long long int length)
Receive data.
int SendMeAlways()
Tell server to send messages forever.
int Subscribe(const JSubscription &subscription)
Subscribe to single tag.
int getSize() const
Get size.
std::string toString() const
Convert subscription list to string.
JSubscriptionList & add(const JSubscription &subscription)
Add subscription.
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary class for all subscription.
Auxiliary class for any subscription.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...