Expand description
This crate implements multiple lock-free structures for object transfers:
- fully-featured MPMC channels (see
channel::new()
) - small one-shot SPSC channels (see
channel::oneshot()
) - an atomic equivalent to
Box<T>
(seeslot::Slot
)
All of these structures are synchronized without any locks and without spinning/yielding.
This crate is compatible with no_std
targets, except for the *_blocking
methods.
(All items of the channel
module are re-exported here at the root.)
Re-exports§
pub use channel::*;
Modules§
- channel
- Channels based on
crate::fifo
- fifo
- First-in, first-out shared buffer
- slot
- Atomic and asynchronous slots