pub struct SpscProducer<T, Codec, const BYTES: usize> { /* private fields */ }Expand description
The only producer endpoint for a mailbox.
The endpoint is Send but not Sync. Its operations use a bounded number
of lock-free atomic loads and stores.
Implementations§
Source§impl<T, Codec, const BYTES: usize> SpscProducer<T, Codec, BYTES>
impl<T, Codec, const BYTES: usize> SpscProducer<T, Codec, BYTES>
pub fn try_push(&mut self, value: T) -> Result<(), SpscPushError<T>>
pub fn capacity(&self) -> usize
pub fn approximate_len(&self) -> usize
pub fn counters(&self) -> SpscCounters
pub fn is_consumer_connected(&self) -> bool
Trait Implementations§
Source§impl<T, Codec, const BYTES: usize> Drop for SpscProducer<T, Codec, BYTES>
impl<T, Codec, const BYTES: usize> Drop for SpscProducer<T, Codec, BYTES>
Auto Trait Implementations§
impl<T, Codec, const BYTES: usize> !RefUnwindSafe for SpscProducer<T, Codec, BYTES>
impl<T, Codec, const BYTES: usize> !Sync for SpscProducer<T, Codec, BYTES>
impl<T, Codec, const BYTES: usize> Freeze for SpscProducer<T, Codec, BYTES>
impl<T, Codec, const BYTES: usize> Send for SpscProducer<T, Codec, BYTES>
impl<T, Codec, const BYTES: usize> Unpin for SpscProducer<T, Codec, BYTES>
impl<T, Codec, const BYTES: usize> UnsafeUnpin for SpscProducer<T, Codec, BYTES>where
Arc<Shared<T, Codec, BYTES>>: UnsafeUnpin,
impl<T, Codec, const BYTES: usize> UnwindSafe for SpscProducer<T, Codec, BYTES>where
Arc<Shared<T, Codec, BYTES>>: UnwindSafe,
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