low-latency-data-structures 0.0.1

Experimental lock-free SPSC, SPMC broadcast, and SeqLock primitives tuned for ultra-low-latency systems
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Single-producer, multi-consumer broadcast queue.
//!
//! Every consumer observes every value the producer publishes, unless the
//! consumer falls behind by more than `CAPACITY` slots, in which case the
//! next [`Consumer::try_read`] returns a [`ReadResult::Lapped`] and jumps the
//! read cursor to the most recently published slot.
//!
//! See [`new`] for the entry point, [`Producer`] for publishing, and
//! [`Consumer`] / [`ReadResult`] for reading.

mod consumer;
mod producer;
mod queue;

pub use consumer::{Consumer, ReadResult};
pub use producer::Producer;
pub use queue::new;