simple_ringbuf crate provides a lightweight (no dependency) ring buffer backed with
a hand-memory managed buffer (with
unsafe). Serialization support is optionally available
serde feature flag.
The sole feature of this create is the
RingBuffer struct, which is a fixed-sized collection
with an API somewhat similar to standard Rust collections.
The primary intention of this crate is to provide a cheap fixed-sized collection for buffering a finite horizon of data. The use case this was developed for was an action history log for a bot, and could be used for similar concepts like undo logs. In fact, the iterator and Index implementations for this struct assume you want to iterate from the "top" of the deque (newest to oldest), and doesn't allow mutation of elements at this time (but does allow push/popping from both ends).
Provides iterator implementation for a
A fixed-sized collection meant to hold a limited horizon of generic data. When filled to capacity, older data will be overwritten.