#[repr(u8)]pub enum RingShape {
Spsc = 0,
Mpsc = 1,
Mpmc = 2,
Vyukov = 3,
}Expand description
The four ring shapes this primitive can host. Stored in the
shape tag as the discriminant u8.
Variants§
Spsc = 0
1 producer + 1 consumer, Lamport SPSC core. Cheapest shape.
Mpsc = 1
N producers + 1 consumer, composed N Lamport SPSC rings.
Mpmc = 2
N producers + M consumers, composed N x M Lamport grid.
Vyukov = 3
Vyukov MPMC override; preserves global FIFO across producers.
Trait Implementations§
impl Copy for RingShape
impl Eq for RingShape
impl StructuralPartialEq for RingShape
Auto Trait Implementations§
impl Freeze for RingShape
impl RefUnwindSafe for RingShape
impl Send for RingShape
impl Sync for RingShape
impl Unpin for RingShape
impl UnsafeUnpin for RingShape
impl UnwindSafe for RingShape
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more