FairMQ/examples/MQ/6-multiple-channels
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
ex6-multiple-channels.json all: apply fer-json-fmt 2018-05-02 16:12:57 +02:00
FairMQExample6Broadcaster.cxx Enable new callback API 2018-05-02 16:12:57 +02:00
FairMQExample6Broadcaster.h Enable new callback API 2018-05-02 16:12:57 +02:00
FairMQExample6Sampler.cxx Convert factory methods to return smart ptrs 2018-05-02 16:12:57 +02:00
FairMQExample6Sampler.h Enable new callback API 2018-05-02 16:12:57 +02:00
FairMQExample6Sink.cxx Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 16:12:57 +02:00
FairMQExample6Sink.h Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 16:12:57 +02:00
README.md Rename /example to /examples and move MQ examples in it 2018-05-02 16:12:57 +02:00
runExample6Broadcaster.cxx Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 16:12:57 +02:00
runExample6Sampler.cxx Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 16:12:57 +02:00
runExample6Sink.cxx Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 16:12:57 +02:00
startMQEx6.sh.in Modified the ROOTMacros.cmake to allow GENERATE_EXECUTABLE() 2018-05-02 16:12:57 +02:00

Example 6: Multiple Channels

This example demonstrates how to work with multiple channels and multiplex between them.

A topology of three devices - Sampler, Sink and Broadcaster. The Sampler sends data to the Sink via the PUSH-PULL pattern. The Broadcaster device sends a message to both Sampler and Sink containing a string "OK" every second. The Broadcaster sends the message via PUB pattern. Both Sampler and Sink, besides doing their PUSH-PULL job, listen via SUB to the Broadcaster.

The multiplexing between their data channels and the broadcast channels happens with FairMQPoller.