low_latency_data_structures/spmc/mod.rs
1//! Single-producer, multi-consumer broadcast queue.
2//!
3//! Every consumer observes every value the producer publishes, unless the
4//! consumer falls behind by more than `CAPACITY` slots, in which case the
5//! next [`Consumer::try_read`] returns a [`ReadResult::Lapped`] and jumps the
6//! read cursor to the most recently published slot.
7//!
8//! See [`new`] for the entry point, [`Producer`] for publishing, and
9//! [`Consumer`] / [`ReadResult`] for reading.
10
11mod builder;
12mod consumer;
13mod producer;
14mod queue;
15
16pub use builder::Options;
17pub use consumer::{Consumer, ReadResult};
18pub use producer::Producer;
19pub use queue::{Slot, new};