41 const std::string& server,
71 logger.debug(
"actionEnter()");
76 logger.debug(
"actionExit()");
78 if (
getName() ==
"JDAQDemoClient/+") {
82 sleep(std::numeric_limits<unsigned int>::max());
91 JDebugStream(logger) <<
"actionInit(" << std::string(buffer,length) <<
")";
93 if (
string(buffer,length) == ev_error.name()) {
103 JDebugStream(logger) <<
"actionConfigure(" << std::string(buffer,length) <<
")";
105 if (
getName() ==
"JDAQDemoClient/-") {
107 istringstream is(
string(buffer,length));
109 int us1 = 0, us2 = 0;
111 if (is >> us1 >> us2 && us1 > 0 && us2 > 0) {
115 JErrorStream(logger) <<
"Time to sleep/kill " << us1 <<
"/" << us2 <<
" us";
119 shell <<
"(usleep " << us2 <<
"; kill -9 " << getpid() <<
") &" << endl;
128 JDebugStream(logger) <<
"actionStart(" << std::string(buffer,length) <<
")";
133 JDebugStream(logger) <<
"actionPause(" << std::string(buffer,length) <<
")";
138 JDebugStream(logger) <<
"actionContinue(" << std::string(buffer,length) <<
")";
143 JDebugStream(logger) <<
"actionStop(" << std::string(buffer,length) <<
")";
148 JDebugStream(logger) <<
"actionReset(" << std::string(buffer,length) <<
")";
153 JDebugStream(logger) <<
"actionQuit(" << std::string(buffer,length) <<
")";
161 int main(
int argc,
char* argv[])
178 JParser<> zap(
"Application for writing real-time data to disk.");
191 catch(
const exception &error) {
192 FATAL(error.what() << endl);
204 if (file_name ==
"") {
216 demo.debug(CHSM::machine::D_all);
218 demo.CHSM::machine::enter();
220 ifstream in(file_name.c_str());
int main(int argc, char *argv[])
Run control demo client.
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Shell interaction via I/O streams.
virtual void actionQuit(int length, const char *buffer)
virtual void actionExit()
virtual void actionPause(int length, const char *buffer)
JDAQDemoClient(const std::string &name)
Constructor.
virtual void actionStop(int length, const char *buffer)
JDAQDemoClient(const std::string &name, JLogger *logger, const int level)
Constructor.
JDAQDemoClient(const std::string &name, const std::string &server, JLogger *logger, const int level)
Constructor.
virtual void actionReset(int length, const char *buffer)
virtual void actionEnter()
Interface methods for actions corresponding to state transitions.
virtual void actionConfigure(int length, const char *buffer)
virtual void actionContinue(int length, const char *buffer)
virtual void actionInit(int length, const char *buffer)
virtual void actionStart(int length, const char *buffer)
Message logging based on ControlHost.
Interface for logging messages.
Message logging based on std::ostream.
Utility class to parse command line options.
The JShell clas can be used to interact with the shell via I/O streams.
static JShell & getInstance()
Get reference to unique instance of this class object.
Control unit client base class.
void run()
Run as run control client following command messages via JNET::JControlHost.
virtual bool enter(const JArgs &args)
Enter the state machine.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
const char * getName()
Get ROOT name of given data type.
KM3NeT DAQ data structures and auxiliaries.
std::string getProcessName(const std::string &name, const std::string &process)
Get process name of run control client.
Level specific message streamers.