Skip to main content

Queue

Trait Queue 

Source
pub trait Queue<'q, T: Token>: Sized {
    type Owned;
    type Vacancy: Vacancy<'q, T, Owned = Self::Owned>;
    type Reserved<const N: usize>: Chain<T, N>;
    type Prepared<'e, E: 'e, const N: usize>: Ready;

    // Required methods
    fn refresh(&mut self);
    fn len(&self) -> U32<0, { u32::MAX }>;
    fn is_empty(&self) -> bool;
    fn try_one(self) -> Result<Self::Vacancy, Full>;
    fn try_acquire(self) -> Result<Self::Vacancy, Full>;
    fn try_reserve<const N: usize>(
        self,
        count: Limit<N>,
    ) -> Result<Self::Reserved<N>, Full>;
    fn prepare<'e, const N: usize>(
        self,
        entries: &'e [Self::Owned; N],
    ) -> Result<Self::Prepared<'e, Self::Owned, N>, Full>;
}
Expand description

An exclusive view of locally staged native submissions.

Required Associated Types§

Source

type Owned

Source

type Vacancy: Vacancy<'q, T, Owned = Self::Owned>

Source

type Reserved<const N: usize>: Chain<T, N>

Source

type Prepared<'e, E: 'e, const N: usize>: Ready

Required Methods§

Source

fn refresh(&mut self)

Source

fn len(&self) -> U32<0, { u32::MAX }>

Source

fn is_empty(&self) -> bool

Source

fn try_one(self) -> Result<Self::Vacancy, Full>

Source

fn try_acquire(self) -> Result<Self::Vacancy, Full>

Acquires the current kernel head without publishing local submissions. A full queue leaves both cached and shared queue state unchanged.

Source

fn try_reserve<const N: usize>( self, count: Limit<N>, ) -> Result<Self::Reserved<N>, Full>

Source

fn prepare<'e, const N: usize>( self, entries: &'e [Self::Owned; N], ) -> Result<Self::Prepared<'e, Self::Owned, N>, Full>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§