Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lemonrock/magic-ring-buffer
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.
https://github.com/lemonrock/magic-ring-buffer
lock-free lock-free-queue magic mirrored ring-buffer rust rust-crate virtual
Last synced: 19 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/lemonrock/magic-ring-buffer
- Owner: lemonrock
- License: other
- Created: 2019-02-02T10:37:59.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-08-11T16:32:09.000Z (over 2 years ago)
- Last Synced: 2024-08-11T00:02:08.946Z (4 months ago)
- Topics: lock-free, lock-free-queue, magic, mirrored, ring-buffer, rust, rust-crate, virtual
- Language: Rust
- Homepage: https://gtihub.com/lemonrock/magic-ring-buffer
- Size: 86.9 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# magic-ring-buffer
[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.
## Licensing
The license for this project is MIT.
[magic-ring-buffer]: https://github.com/lemonrock/magic-ring-buffer "magic-ring-buffer GitHub page"