mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-12 16:21:13 +00:00
- give transport Initialize() method with access to device config. - avoid using global context in the transport. - simplify shutdown procedure (no need for extra thread). |
||
---|---|---|
.. | ||
FairMQMessageSHM.cxx | ||
FairMQMessageSHM.h | ||
FairMQPollerSHM.cxx | ||
FairMQPollerSHM.h | ||
FairMQShmManager.h | ||
FairMQSocketSHM.cxx | ||
FairMQSocketSHM.h | ||
FairMQTransportFactorySHM.cxx | ||
FairMQTransportFactorySHM.h | ||
README.md |
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).