11 #include "runFairMQDevice.h"
13 namespace bpo = boost::program_options;
19 (
"data-format", bpo::value<std::string>()->default_value(
"binary"),
"Data format (binary|boost|flatbuffers|msgpack|protobuf|tmessage)")
20 (
"input-file", bpo::value<std::string>()->required(),
"Path to the input file")
21 (
"parameter-file", bpo::value<std::string>()->default_value(
""),
"Path to the parameter file")
22 (
"branch", bpo::value<std::string>()->default_value(
"FairTestDetectorDigi"),
"Name of the Branch")
23 (
"out-channel", bpo::value<std::string>()->default_value(
"data1"),
"Name of the output channel")
24 (
"ack-channel", bpo::value<std::string>()->default_value(
"ack"),
"Name of the acknowledgement channel")
25 (
"chain-input", bpo::value<int>()->default_value(0),
"Chain input file more than once (default)");
29 FairMQDevicePtr
getDevice(
const FairMQProgOptions& config)
31 std::string dataFormat = config.GetValue<std::string>(
"data-format");
33 if (dataFormat ==
"binary") {
35 }
else if (dataFormat ==
"boost") {
37 void(boost::archive::binary_oarchive&,
38 const unsigned int)>::value
40 LOG(error) <<
"Boost serialization for Output Payload requested, but the output type does not support it. "
41 "Check the TOut parameter. Aborting.";
45 }
else if (dataFormat ==
"tmessage") {
49 else if (dataFormat ==
"flatbuffers") {
54 else if (dataFormat ==
"msgpack") {
59 else if (dataFormat ==
"protobuf") {
65 <<
"No valid data format provided. (--data-format binary|boost|flatbuffers|msgpack|protobuf|tmessage). ";
void addCustomOptions(bpo::options_description &options)
FairMQDevicePtr getDevice(const FairMQProgOptions &config)