#ring-buffer #serialization #circ #prima #est #quae #nullo #fidem

circ_buffer

A bare-metal fixed-size statically allocated ring-buffer with optional serde (De)-Serialization

10 releases

0.1.9 Jan 22, 2025
0.1.8 Nov 6, 2024
0.1.7 Jul 23, 2024

#568 in Encoding

Download history 891/week @ 2025-01-26 239/week @ 2025-02-02 245/week @ 2025-02-09 370/week @ 2025-02-16 351/week @ 2025-02-23 71/week @ 2025-03-02 169/week @ 2025-03-09 161/week @ 2025-03-16 61/week @ 2025-03-23 163/week @ 2025-03-30 321/week @ 2025-04-06 177/week @ 2025-04-13 553/week @ 2025-04-20 555/week @ 2025-04-27 450/week @ 2025-05-04 548/week @ 2025-05-11

2,106 downloads per month
Used in 2 crates (via cellular_raza-core)

MIT/Apache

20KB
390 lines

A const-sized Ring-Buffer datastructure.

The crate is no_std. It uses elements from the standard library for testing purposes but does not rely on them for internal implementation details.

Example

use circ_buffer::RingBuffer;

let mut ring_buffer = RingBuffer::<_, 5>::new();
ring_buffer.push("Aurea prima");
ring_buffer.push("sata est");
ring_buffer.push("aetas, quae");
ring_buffer.push("vindice nullo");
ring_buffer.push("sponte sua,");
ring_buffer.push("sine lege fidem");
ring_buffer.push("rectumque colebat.");

assert_eq!(ring_buffer[0], "aetas, quae");
assert_eq!(ring_buffer[1], "vindice nullo");
assert_eq!(ring_buffer[2], "sponte sua,");
assert_eq!(ring_buffer[3], "sine lege fidem");
assert_eq!(ring_buffer[4], "rectumque colebat.");

Features

  • serde allows for deserialization of the RingBuffer

circ_buffer


A no_std crate for a fixed-size statically allocated ring-buffer with optional serde (De)-Serialization.

License MIT License Apache Test Status Crate Docs Minimum rustc version

Dependencies

~150KB