Struct kernel_hal::MpscQueue 
source · [−]pub struct MpscQueue<'a, T: Copy> {
    pub size: usize,
    pub chead: AtomicUsize,
    pub phead: AtomicUsize,
    pub ptail: AtomicUsize,
    /* private fields */
}Fields
size: usizechead: AtomicUsizephead: AtomicUsizeptail: AtomicUsizeImplementations
sourceimpl<'a, T: Copy> MpscQueue<'a, T>
 
impl<'a, T: Copy> MpscQueue<'a, T>
pub fn new(queue: &'a mut [T]) -> Self
pub fn entry_at(&self, idx: usize) -> &mut T
pub fn chead(&self) -> usize
pub fn phead(&self) -> usize
pub fn ptail(&self) -> usize
pub fn alloc_entry(&self) -> Option<usize>
pub fn commit_entry(&self, idx: usize) -> bool
pub fn consume_entrys(&self) -> Vec<(usize, T)>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator, 
A: Allocator,
Trait Implementations
Auto Trait Implementations
impl<'a, T> !RefUnwindSafe for MpscQueue<'a, T>
impl<'a, T> Unpin for MpscQueue<'a, T>
impl<'a, T> !UnwindSafe for MpscQueue<'a, T>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
    T: ?Sized, 
 
impl<T> BorrowMut<T> for T where
    T: ?Sized, 
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedAs for T
 
impl<T> CheckedAs for T
sourcefn checked_as<Dst>(self) -> Option<Dst> where
    T: CheckedCast<Dst>, 
 
fn checked_as<Dst>(self) -> Option<Dst> where
    T: CheckedCast<Dst>, 
Casts the value.
sourceimpl<Src, Dst> CheckedCastFrom<Src> for Dst where
    Src: CheckedCast<Dst>, 
 
impl<Src, Dst> CheckedCastFrom<Src> for Dst where
    Src: CheckedCast<Dst>, 
sourcefn checked_cast_from(src: Src) -> Option<Dst>
 
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
sourceimpl<T> OverflowingAs for T
 
impl<T> OverflowingAs for T
sourcefn overflowing_as<Dst>(self) -> (Dst, bool) where
    T: OverflowingCast<Dst>, 
 
fn overflowing_as<Dst>(self) -> (Dst, bool) where
    T: OverflowingCast<Dst>, 
Casts the value.
sourceimpl<Src, Dst> OverflowingCastFrom<Src> for Dst where
    Src: OverflowingCast<Dst>, 
 
impl<Src, Dst> OverflowingCastFrom<Src> for Dst where
    Src: OverflowingCast<Dst>, 
sourcefn overflowing_cast_from(src: Src) -> (Dst, bool)
 
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
sourceimpl<T> SaturatingAs for T
 
impl<T> SaturatingAs for T
sourcefn saturating_as<Dst>(self) -> Dst where
    T: SaturatingCast<Dst>, 
 
fn saturating_as<Dst>(self) -> Dst where
    T: SaturatingCast<Dst>, 
Casts the value.
sourceimpl<Src, Dst> SaturatingCastFrom<Src> for Dst where
    Src: SaturatingCast<Dst>, 
 
impl<Src, Dst> SaturatingCastFrom<Src> for Dst where
    Src: SaturatingCast<Dst>, 
sourcefn saturating_cast_from(src: Src) -> Dst
 
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
sourceimpl<T> UnwrappedAs for T
 
impl<T> UnwrappedAs for T
sourcefn unwrapped_as<Dst>(self) -> Dst where
    T: UnwrappedCast<Dst>, 
 
fn unwrapped_as<Dst>(self) -> Dst where
    T: UnwrappedCast<Dst>, 
Casts the value.
sourceimpl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
    Src: UnwrappedCast<Dst>, 
 
impl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
    Src: UnwrappedCast<Dst>, 
sourcefn unwrapped_cast_from(src: Src) -> Dst
 
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
sourceimpl<T> WrappingAs for T
 
impl<T> WrappingAs for T
sourcefn wrapping_as<Dst>(self) -> Dst where
    T: WrappingCast<Dst>, 
 
fn wrapping_as<Dst>(self) -> Dst where
    T: WrappingCast<Dst>, 
Casts the value.
sourceimpl<Src, Dst> WrappingCastFrom<Src> for Dst where
    Src: WrappingCast<Dst>, 
 
impl<Src, Dst> WrappingCastFrom<Src> for Dst where
    Src: WrappingCast<Dst>, 
sourcefn wrapping_cast_from(src: Src) -> Dst
 
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.