pub struct Queue<T, S = Auto>where
T: AsPackedValue,
S: SlotType<T>,{ /* private fields */ }Expand description
A MPMCQueue over a heap-allocated array.
This queue only accepts items that implement PtrLike.
If you need to store larger types, consider using PooledQueue instead.
only available on feature alloc
Implementations§
Trait Implementations§
Source§impl<T, S> MPMCQueue for Queue<T, S>where
T: AsPackedValue,
S: SlotType<T>,
impl<T, S> MPMCQueue for Queue<T, S>where
T: AsPackedValue,
S: SlotType<T>,
Source§fn push(&self, item: Self::Item) -> Result<(), Self::Item>
fn push(&self, item: Self::Item) -> Result<(), Self::Item>
Attempts to push an item into the queue.
Returns the item as an error if the queue is full. Read more
Source§fn pop(&self) -> Option<Self::Item>
fn pop(&self) -> Option<Self::Item>
Attempts to pop an item from the queue.
Returns
None if the queue was empty. Read moreSource§fn len(&self) -> usize
fn len(&self) -> usize
Returns the current len of the queue.
The returned value may be stale under concurrent access and should not be used for synchronization.
Source§fn is_empty(&self) -> bool
fn is_empty(&self) -> bool
Indicates whether the queue is empty.
The returned value may be stale under concurrent access and should not be used for synchronization.
Source§fn is_full(&self) -> bool
fn is_full(&self) -> bool
Indicates whether the queue is full.
The returned value may be stale under concurrent access and should not be used for synchronization.
Auto Trait Implementations§
impl<T, S = Auto> !Freeze for Queue<T, S>
impl<T, S> RefUnwindSafe for Queue<T, S>where
<S as SlotType<T>>::Slot: RefUnwindSafe,
impl<T, S> Send for Queue<T, S>where
<S as SlotType<T>>::Slot: Send,
impl<T, S> Sync for Queue<T, S>where
<S as SlotType<T>>::Slot: Sync,
impl<T, S> Unpin for Queue<T, S>
impl<T, S> UnsafeUnpin for Queue<T, S>
impl<T, S> UnwindSafe for Queue<T, S>where
<S as SlotType<T>>::Slot: 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