Crates.io | magic-ring-buffer |
lib.rs | magic-ring-buffer |
version | 0.1.0 |
source | src |
created_at | 2019-02-02 10:40:36.810231 |
updated_at | 2019-02-02 10:40:36.810231 |
description | A magic ring buffer (also known as a virtual ring buffer, VRB, or mirrored buffer) which is lock-free for multiple producers and a single consumer. |
homepage | https://github.com/lemonrock/magic-ring-buffer |
repository | https://github.com/lemonrock/magic-ring-buffer.git |
max_upload_size | |
id | 112161 |
size | 36,676 |
magic-ring-buffer is a Rust crate providing a magic ring buffer (also known as a virtual ring buffer, VRB, or mirrored buffer) which is lock-free for multiple producers and a single consumer.
A magic ring buffer allows 'wrap-around' of a ring buffer without the need to use two separate read or two separate writes; it exploits the fact that virtual memory does not need to be implemented using contiguous physical memory.
The current design only works on Linux-like systems, as it relies on mapping files in /dev/shm
.
It should be possible to make implementations that work on Mac OS X, the BSDs and Windows.
The license for this project is MIT.