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§
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>
Sourcefn try_acquire(self) -> Result<Self::Vacancy, Full>
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.
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>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".