Crates.io | mspc_ipc |
lib.rs | mspc_ipc |
version | 0.1.3 |
source | src |
created_at | 2024-07-25 19:23:32.69293 |
updated_at | 2024-07-28 11:38:52.600626 |
description | Multi producer single consumer ring buffer for inter-process communication |
homepage | |
repository | |
max_upload_size | |
id | 1315366 |
size | 31,638 |
Multi Producer Single Consumer for Inter-Process Communication
All ring-buffer implementations I was able to find assume they operate in a single process. When working across processes, the implementation must take into account that processes (producers or the consumer) can crash at any point, and the consumer must be able to recover and potentially skip broken entries.
One possibility is to use a robust futex, but that requires pthreads
. In my scenario, I'm unable to use
pthreads and reimplementing the logic there is too brittle.