18 #include "boost/program_options.hpp"
20 #include "FairMQLogger.h"
21 #include "FairMQParser.h"
22 #include "FairMQProgOptions.h"
25 #include "FairMQTransportFactoryNN.h"
27 #include "FairMQTransportFactoryZMQ.h"
30 using namespace boost::program_options;
32 int main(
int argc,
char** argv)
37 FairMQProgOptions config;
41 if (config.ParseAll(argc, argv))
46 std::string
filename = config.GetValue<std::string>(
"config-json-file");
47 std::string
id = config.GetValue<std::string>(
"id");
49 config.UserParser<FairMQParser::JSON>(
filename, id);
51 sink.fChannels = config.GetFairMQMap();
53 LOG(INFO) <<
"PID: " << getpid();
56 FairMQTransportFactory* transportFactory =
new FairMQTransportFactoryNN();
58 FairMQTransportFactory* transportFactory =
new FairMQTransportFactoryZMQ();
61 sink.SetTransport(transportFactory);
63 sink.SetProperty(PndMQExample1Sink::Id,
id);
65 sink.ChangeState(
"INIT_DEVICE");
66 sink.WaitForEndOfState(
"INIT_DEVICE");
68 sink.ChangeState(
"INIT_TASK");
69 sink.WaitForEndOfState(
"INIT_TASK");
71 sink.ChangeState(
"RUN");
72 sink.InteractiveStateLoop();
74 catch (std::exception& e)
76 LOG(ERROR) << e.what();
77 LOG(INFO) <<
"Command line options are the following: ";
int main(int argc, char **argv)