mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 16:46:47 +00:00
- Extend the multipart API to allow sending vectors of messages or helper thin wrapper FairMQParts. See example in examples/MQ/8-multipart. - NewMessage() can be used in devices instead of fTransportFactory->CreateMessage(). Possible arguments remain unchanged (no args, size or data+size). - Send()/Receive() methods can be used in devices instead of fChannels.at("chan").at(i).Send()/Receive(): Send(msg, "chan", i = 0), Receive(msg, "chan", i = 0). - Use the new methods in MQ examples and tests. - No breaking changes, but FAIRMQ_INTERFACE_VERSION is incremented to 3 to allow to check for new methods. |
||
---|---|---|
.. | ||
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.