Skip to main content

UnboundQueue

Struct UnboundQueue 

Source
pub struct UnboundQueue<M: RawMutex = CriticalSectionRawMutex>(/* private fields */);
Expand description

An unbounded queue implementation using VecDeque from the alloc crate.

Note that this queue does allocate memory on push, and deallocates memory on pop, so it may not be suitable for all use cases (e.g. embedded contexts without an allocator, or contexts where allocations are not allowed in ISRs).

Implementations§

Source§

impl<M: RawMutex> UnboundQueue<M>

Source

pub const fn new() -> Self

Creates a new empty queue.

Source

pub fn with_capacity(capacity: usize) -> Self

Create a new queue with the specified capacity.

Trait Implementations§

Source§

impl<M: RawMutex> Default for UnboundQueue<M>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<M> ExecutorQueue for UnboundQueue<M>
where M: RawMutex,

Source§

fn new() -> Self

Creates a new queue.
Source§

fn push(&self, runnable: Runnable)

Pushes a runnable into the queue.
Source§

fn pop(&self) -> Option<Runnable>

Pop an item from the queue. Read more

Auto Trait Implementations§

§

impl<M = CriticalSectionRawMutex> !Freeze for UnboundQueue<M>

§

impl<M = CriticalSectionRawMutex> !RefUnwindSafe for UnboundQueue<M>

§

impl<M> Send for UnboundQueue<M>
where M: Send,

§

impl<M> Sync for UnboundQueue<M>
where M: Sync,

§

impl<M> Unpin for UnboundQueue<M>
where M: Unpin,

§

impl<M> UnsafeUnpin for UnboundQueue<M>
where M: UnsafeUnpin,

§

impl<M> UnwindSafe for UnboundQueue<M>
where M: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.