mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-12-13 06:20:16 +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)
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).