From 89d57db5eaedbac7e96ca6d97b2255820f6f713a Mon Sep 17 00:00:00 2001 From: NicolasWinckler Date: Wed, 11 Nov 2015 12:23:41 +0100 Subject: [PATCH] - create 3 test scripts for bin, boost, and root serialization format - print message at the end of the data generator of GenericDevices tutorial --- fairmq/tools/runSimpleMQStateMachine.h | 45 ++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/fairmq/tools/runSimpleMQStateMachine.h b/fairmq/tools/runSimpleMQStateMachine.h index 6babde09..712fd706 100644 --- a/fairmq/tools/runSimpleMQStateMachine.h +++ b/fairmq/tools/runSimpleMQStateMachine.h @@ -69,6 +69,51 @@ inline int runStateMachine(TMQDevice& device, FairMQProgOptions& config) return 0; } +template +inline int runNonInteractiveStateMachine(TMQDevice& device, FairMQProgOptions& config) +{ + device.CatchSignals(); + std::string jsonfile = config.GetValue("config-json-file"); + std::string id = config.GetValue("id"); + int ioThreads = config.GetValue("io-threads"); + + config.UserParser(jsonfile, id); + + device.fChannels = config.GetFairMQMap(); + + device.SetProperty(TMQDevice::Id, id); + device.SetProperty(TMQDevice::NumIoThreads, ioThreads); + + LOG(INFO) << "PID: " << getpid(); + +#ifdef NANOMSG + FairMQTransportFactory* transportFactory = new FairMQTransportFactoryNN(); +#else + FairMQTransportFactory* transportFactory = new FairMQTransportFactoryZMQ(); +#endif + + device.SetTransport(transportFactory); + + device.ChangeState(TMQDevice::INIT_DEVICE); + device.WaitForEndOfState(TMQDevice::INIT_DEVICE); + + device.ChangeState(TMQDevice::INIT_TASK); + device.WaitForEndOfState(TMQDevice::INIT_TASK); + + device.ChangeState(TMQDevice::RUN); + device.WaitForEndOfState(TMQDevice::RUN); + + device.ChangeState(TMQDevice::RESET_TASK); + device.WaitForEndOfState(TMQDevice::RESET_TASK); + + device.ChangeState(TMQDevice::RESET_DEVICE); + device.WaitForEndOfState(TMQDevice::RESET_DEVICE); + + device.ChangeState(TMQDevice::END); + + return 0; +} + #endif /* RUNSIMPLEMQSTATEMACHINE_H */