pub struct PagedRingMem<T>(/* private fields */);
Expand description
An implementation of RingMem
on top of discontiguous pages.
Implementations§
Source§impl<T: PagedMemory> PagedRingMem<T>
impl<T: PagedMemory> PagedRingMem<T>
Sourcepub fn new(inner: T) -> Self
pub fn new(inner: T) -> Self
Returns a new ring memory wrapping a type implementing PagedMemory
.
Trait Implementations§
Source§impl<T: Clone> Clone for PagedRingMem<T>
impl<T: Clone> Clone for PagedRingMem<T>
Source§fn clone(&self) -> PagedRingMem<T>
fn clone(&self) -> PagedRingMem<T>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T: Debug> Debug for PagedRingMem<T>
impl<T: Debug> Debug for PagedRingMem<T>
Source§impl<T: PagedMemory> RingMem for PagedRingMem<T>
impl<T: PagedMemory> RingMem for PagedRingMem<T>
Source§fn read_at(&self, addr: usize, data: &mut [u8])
fn read_at(&self, addr: usize, data: &mut [u8])
Reads from the data portion of the ring, wrapping (once) at the end of
the ring. Precondition:
addr + data.len() <= self.len() * 2
.Source§fn write_at(&self, addr: usize, data: &[u8])
fn write_at(&self, addr: usize, data: &[u8])
Writes to the data portion of the ring, wrapping (once) at the end of
the ring. Precondition:
addr + data.len() <= self.len() * 2
.Source§fn read_aligned(&self, addr: usize, data: &mut [u8])
fn read_aligned(&self, addr: usize, data: &mut [u8])
Reads from the data portion of the ring, as in
RingMem::read_at
. addr
and
data.len()
must be multiples of 8. Read moreSource§fn write_aligned(&self, addr: usize, data: &[u8])
fn write_aligned(&self, addr: usize, data: &[u8])
Writes to the data portion of the ring, as in
RingMem::write_at
. addr
and
data.len()
must be multiples of 8. Read moreAuto Trait Implementations§
impl<T> Freeze for PagedRingMem<T>where
T: Freeze,
impl<T> RefUnwindSafe for PagedRingMem<T>where
T: RefUnwindSafe,
impl<T> Send for PagedRingMem<T>where
T: Send,
impl<T> Sync for PagedRingMem<T>where
T: Sync,
impl<T> Unpin for PagedRingMem<T>where
T: Unpin,
impl<T> UnwindSafe for PagedRingMem<T>where
T: 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