mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-12 16:21:13 +00:00
The shm metadata msg will be right-padded to the given size. This tunable may be used to saturate the kernel msg buffers more quickly with the effect that the ZeroMQ message queue size - on which the FairMQ shmem transport relies upon - behaves more accurately for very small queue sizes. This introduces a change for the meta msg format in the multipart case: old: | MetaHeader 1 | ... | MetaHeader n | new: | n | MetaHeader 1 | ... | MetaHeader n | padded to fMetadataMsgSize | where `n` is a `size_t` and contains the number of following meta headers. Previously, this number was infered from the msg buffer size itself which is no longer possible due to the potential padding. Implements #432 |
||
---|---|---|
.. | ||
BenchmarkSampler.h | ||
Merger.h | ||
Multiplier.h | ||
Proxy.h | ||
README.md | ||
runBenchmarkSampler.cxx | ||
runMerger.cxx | ||
runMultiplier.cxx | ||
runProxy.cxx | ||
runSink.cxx | ||
runSplitter.cxx | ||
Sink.h | ||
Splitter.h | ||
startMQBenchmark.sh.in |
Generic Devices
With FairMQ several generic devices are provided:
- BenchmarkSampler: generates random data of configurable size and at configurable rate and sends it out on an output channel.
- Sink: receives messages on the input channel and simply discards them.
- Merger: receives data from multiple input channels and forwards it to a single output channel.
- Splitter: receives messages on a single input channels and round-robins them among multiple output channels (which can have different socket types).
- Multiplier: receives data from a single input channel and multiplies (copies) it to two or more output channels.
- Proxy: connects input channel to output channel, where both can have different socket types and multiple peers.