FairMQ/examples/MQ/1-sampler-sink
Dennis Klein 3e013f98b8 refactor and integrate with aliBuild/alienv
* accept ZEROMQ_ROOT as env or cmake variable to hint at install
    location (used by aliBuild/alienv)
  * added more docs
  * fixed mismatch between module name ZeroMQ and prefix of
    generated variables ZMQ -> ZeroMQ is now the preferred prefix
    (old variables are still available and marked deprecated)
  * the aliBuild zeromq recipe does not install zmq.hpp header,
    so the module searches now for the zmq.h header
    (which is anyways the only one we use)
  * some cosmetic changes
  * add option ZeroMQ_NO_DEPRECATION to suppress deprecation warning
2018-05-02 16:12:57 +02:00
..
CMakeLists.txt refactor and integrate with aliBuild/alienv 2018-05-02 16:12:57 +02:00
ex1-sampler-sink.json all: apply fer-json-fmt 2018-05-02 16:12:57 +02:00
FairMQExample1Sampler.cxx Enable new callback API 2018-05-02 16:12:57 +02:00
FairMQExample1Sampler.h Enable new callback API 2018-05-02 16:12:57 +02:00
FairMQExample1Sink.cxx Enable new callback API 2018-05-02 16:12:57 +02:00
FairMQExample1Sink.h Enable new callback API 2018-05-02 16:12:57 +02:00
README.md Configuration and DDS example/tools updates 2018-05-02 16:12:57 +02:00
runExample1Sampler.cxx Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 16:12:57 +02:00
runExample1Sink.cxx Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 16:12:57 +02:00
startMQEx1.sh.in Modified the ROOTMacros.cmake to allow GENERATE_EXECUTABLE() 2018-05-02 16:12:57 +02:00

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 --mq-config. The value of --id should be a unique identifier and the value for --mq-config 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.

For this and the following example, all the commands needed to start the device are contained in the startFairMQExN.sh script (that can also be used for starting the example).