17 #include <TApplication.h>
19 #include "boost/program_options.hpp"
21 #include "FairMQLogger.h"
22 #include "FairMQParser.h"
23 #include "FairMQProgOptions.h"
28 #include "FairMQTransportFactoryNN.h"
30 #include "FairMQTransportFactoryZMQ.h"
35 int main(
int argc,
char** argv)
40 FairMQProgOptions config;
44 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(FairMQDevice::Id,
id);
65 sink.ChangeState(
"INIT_DEVICE");
66 sink.WaitForEndOfState(
"INIT_DEVICE");
68 sink.ChangeState(
"INIT_TASK");
69 sink.WaitForEndOfState(
"INIT_TASK");
73 sink.ChangeState(
"RUN");
74 sink.InteractiveStateLoop();
76 catch (std::exception& e)
78 LOG(ERROR) << e.what();
79 LOG(INFO) <<
"Command line options are the following: ";
virtual void InitOutputFile(TString defaultId="100")
int main(int argc, char **argv)