17 #include <TApplication.h>
19 #include "boost/program_options.hpp"
21 #include "FairMQLogger.h"
22 #include "FairMQParser.h"
23 #include "FairMQProgOptions.h"
26 #include "FairMQTransportFactoryNN.h"
28 #include "FairMQTransportFactoryZMQ.h"
31 using namespace boost::program_options;
33 int main(
int argc,
char** argv)
36 sorter.CatchSignals();
38 FairMQProgOptions config;
42 config.ParseAll(argc, argv);
43 std::string
filename = config.GetValue<std::string>(
"config-json-file");
44 std::string
id = config.GetValue<std::string>(
"id");
46 config.UserParser<FairMQParser::JSON>(
filename, id);
48 sorter.fChannels = config.GetFairMQMap();
50 LOG(INFO) <<
"PID: " << getpid();
53 FairMQTransportFactory* transportFactory =
new FairMQTransportFactoryNN();
55 FairMQTransportFactory* transportFactory =
new FairMQTransportFactoryZMQ();
58 sorter.SetTransport(transportFactory);
60 sorter.SetProperty(PndMQSorterMerger::Id,
id);
62 sorter.ChangeState(
"INIT_DEVICE");
63 sorter.WaitForEndOfState(
"INIT_DEVICE");
65 sorter.ChangeState(
"INIT_TASK");
66 sorter.WaitForEndOfState(
"INIT_TASK");
68 sorter.ChangeState(
"RUN");
69 sorter.InteractiveStateLoop();
72 catch (std::exception& e)
74 LOG(ERROR) << e.what();
75 LOG(INFO) <<
"Command line options are the following: ";
int main(int argc, char **argv)