mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 08:41:16 +00:00
- Remove the compile time check of the transport implementation. The transport (zeromq/nanomsg) can be chosen at run time with: `device.SetTransport("zeromq"); // possible values are "zeromq" and "nanomsg"`. For devices that use FairMQProgOptions, the transport can be configured via cmd option: `--transport zeromq` or `--transport nanomsg`. Default values is "zeromq". The device receives the configured value with: `device.SetTransport(config.GetValue<std::string>("transport"));` Old method of setting transport still works. But the NANOMSG constant is not defined. - Remove old `fairmq/prototest` directory. It was only used as a test for protobuf. The protobuf part of Tutorial3 does the same (with different values). - Fix a bug in FairMQPollerNN, where the `revents` value was not initialized. This caused the `poller->CheckOutput()` to trigger when it should not. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
ex1-sampler-sink.json | ||
FairMQExample1Sampler.cxx | ||
FairMQExample1Sampler.h | ||
FairMQExample1Sink.cxx | ||
FairMQExample1Sink.h | ||
README.md | ||
runExample1Sampler.cxx | ||
runExample1Sink.cxx |
Example 1: Sampler -> Sink
A simple topology of two devices - Sampler and Sink. Sampler sends data to Sink via the PUSH-PULL pattern.
runExample1Sampler.cxx
and runExample1Sink.cxx
configure and run the devices in their main function.
The executables take two required command line parameters: --id
and --config-json-file
. The value of --id
should be a unique identifier and the value for --config-json-file
a path to a config file. The config file for this example is ex1-sampler-sink.json
and it contains configuration for the communication channels of the devices. The mapping between a specific device and the configuration (which can contain multiple devices) is done based on the id.