First version of the shared memory transport.

Use via `--transport shmem` cmd option. No pub/sub.
This commit is contained in:
Alexey Rybalchenko
2016-06-03 11:24:12 +02:00
parent 6c3b01f09c
commit a332d9fc83
39 changed files with 2121 additions and 309 deletions

10
fairmq/shmem/README.md Normal file
View File

@@ -0,0 +1,10 @@
# 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).