pub struct Mmap { /* private fields */ }
Expand description
A simple struct consisting of a page-aligned pointer to page-aligned and initially-zeroed memory and a length.
Implementations§
Source§impl Mmap
impl Mmap
Sourcepub fn with_at_least(size: usize) -> Result<Self, String>
pub fn with_at_least(size: usize) -> Result<Self, String>
Create a new Mmap
pointing to at least size
bytes of page-aligned accessible memory.
Sourcepub fn accessible_reserved(
accessible_size: usize,
mapping_size: usize,
) -> Result<Self, String>
pub fn accessible_reserved( accessible_size: usize, mapping_size: usize, ) -> Result<Self, String>
Create a new Mmap
pointing to accessible_size
bytes of page-aligned accessible memory,
within a reserved mapping of mapping_size
bytes. accessible_size
and mapping_size
must be native page-size multiples.
Sourcepub fn make_accessible(
&mut self,
start: usize,
len: usize,
) -> Result<(), String>
pub fn make_accessible( &mut self, start: usize, len: usize, ) -> Result<(), String>
Make the memory starting at start
and extending for len
bytes accessible.
start
and len
must be native page-size multiples and describe a range within
self
’s reserved memory.
Sourcepub fn as_mut_slice(&mut self) -> &mut [u8] ⓘ
pub fn as_mut_slice(&mut self) -> &mut [u8] ⓘ
Return the allocated memory as a mutable slice of u8.
Sourcepub fn as_mut_ptr(&mut self) -> *mut u8
pub fn as_mut_ptr(&mut self) -> *mut u8
Return the allocated memory as a mutable pointer to u8.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Mmap
impl RefUnwindSafe for Mmap
impl Send for Mmap
impl Sync for Mmap
impl Unpin for Mmap
impl UnwindSafe for Mmap
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more