mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-12 16:21:13 +00:00
* FairMQTransportFactoryZMQ: move the config invariant initialization to ctor * FairMQChannel: add new ctor that creates usable channel * FairMQSocket*: close sockets in dtor * FairMQTransportFactory*: terminate context in dtor * FairMQChannel: add Bind/Connect facades (for explicit control, e.g. timing) |
||
---|---|---|
.. | ||
FairMQMessageSHM.cxx | ||
FairMQMessageSHM.h | ||
FairMQPollerSHM.cxx | ||
FairMQPollerSHM.h | ||
FairMQShmDeviceCounter.h | ||
FairMQShmManager.h | ||
FairMQShmMonitor.cxx | ||
FairMQShmMonitor.h | ||
FairMQSocketSHM.cxx | ||
FairMQSocketSHM.h | ||
FairMQTransportFactorySHM.cxx | ||
FairMQTransportFactorySHM.h | ||
README.md | ||
runFairMQShmMonitor.cxx |
Shared Memory transport
First version of the shared memory transport. To try with existing devices, run the devices with --transport shmem
option.
The transport manages shared memory via boost::interprocess library. The transfer of the meta data, required to locate the content in the share memory, is done via ZeroMQ. The transport supports all communication patterns where a single message is received by a single receiver. For multiple receivers for the same message, the message has to be copied.
Under development:
- Cleanup of the shared memory segment in case all devices crash. Currently at least one device has to stop properly for a cleanup.
- Implement more than one transport per device.
- Configuration of the shared memory size (currently hard-coded).