Shared memory is (possibly) the fastest IPC method available. Is there any well recognized design pattern for implementing a local client/server communication via shared memory? More specifically, a request/response cycle.
The scenario is as follows:
- client makes a request either to get or set some data within the server
- multiple clients can do this at the same time
- there is a well-known location as to how one contacts the server
- server answers these requests using shared memory (e.g. dumps a large data structure)
- client(s) "disconnect(s)"
Most appreciated answers are using standard shared memory interfaces, such as SysV or POSIX.