18 #include <TApplication.h>
20 #include "boost/program_options.hpp"
22 #include "FairMQLogger.h"
23 #include "FairMQParser.h"
24 #include "FairMQProgOptions.h"
25 #include "FairMQDevice.h"
28 #include "FairMQTransportFactoryNN.h"
30 #include "FairMQTransportFactoryZMQ.h"
35 int main(
int argc,
char** argv)
40 processor.CatchSignals();
42 FairMQProgOptions config;
46 config.ParseAll(argc, argv);
48 std::string
filename = config.GetValue<std::string>(
"config-json-file");
49 std::string
id = config.GetValue<std::string>(
"id");
51 config.UserParser<FairMQParser::JSON>(
filename, id);
53 processor.fChannels = config.GetFairMQMap();
55 LOG(INFO) <<
"PID: " << getpid();
56 LOG(INFO) <<
"ID: " << id;
59 FairMQTransportFactory* transportFactory =
new FairMQTransportFactoryNN();
61 FairMQTransportFactory* transportFactory =
new FairMQTransportFactoryZMQ();
64 processor.SetTransport(transportFactory);
66 processor.SetProperty(FairMQDevice::Id,
id);
68 processor.ChangeState(
"INIT_DEVICE");
69 processor.WaitForEndOfState(
"INIT_DEVICE");
71 processor.ChangeState(
"INIT_TASK");
72 processor.WaitForEndOfState(
"INIT_TASK");
74 processor.ChangeState(
"RUN");
75 processor.InteractiveStateLoop();
78 catch (std::exception& e)
80 LOG(ERROR) << e.what();
81 LOG(INFO) <<
"Command line options are the following: ";
int main(int argc, char **argv)