Skip to main content

Crate rbuffer

Crate rbuffer 

Source
Expand description

Lock-free fixed-size ring buffers for low-latency message passing.

This crate provides:

  • SPSCRBuffer: a single-producer/single-consumer ring buffer.
  • MPSCRBuffer: a multi-producer/single-consumer ring buffer.

Both buffer types require S to be a power of two and greater than 1. Internally, one slot is reserved to disambiguate full and empty states, so effective capacity is S - 1.

Re-exports§

pub use spsc_rbuffer::SPSCConsumer;
pub use spsc_rbuffer::SPSCProducer;
pub use spsc_rbuffer::SPSCRBuffer;
pub use mpsc_rbuffer::MPSCConsumer;
pub use mpsc_rbuffer::MPSCProducer;
pub use mpsc_rbuffer::MPSCRBuffer;

Modules§

cache_padding
Cache-line padding helper used to reduce false sharing.
mpsc_rbuffer
Multi-producer/single-consumer ring buffer implementation. Multi-producer/single-consumer lock-free ring buffer.
spsc_rbuffer
Single-producer/single-consumer ring buffer implementation. Single-producer/single-consumer lock-free ring buffer.