| Crates.io | magic-ring-buffer |
| lib.rs | magic-ring-buffer |
| version | 0.1.0 |
| created_at | 2019-02-02 10:40:36.810231+00 |
| updated_at | 2019-02-02 10:40:36.810231+00 |
| 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.