pub struct Mmap {
ptr: usize,
total_size: usize,
accessible_size: usize,
sync_on_drop: bool,
}
Expand description
A simple struct consisting of a page-aligned pointer to page-aligned and initially-zeroed memory and a length.
Fields§
§ptr: usize
§total_size: usize
§accessible_size: usize
§sync_on_drop: bool
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,
backing_file: Option<PathBuf>,
memory_type: MmapType,
) -> Result<Self, String>
pub fn accessible_reserved( accessible_size: usize, mapping_size: usize, backing_file: Option<PathBuf>, memory_type: MmapType, ) -> 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_slice_accessible(&self) -> &[u8] ⓘ
pub fn as_slice_accessible(&self) -> &[u8] ⓘ
Return the allocated memory as a slice of u8.
sourcepub fn as_slice_arbitary(&self, size: usize) -> &[u8] ⓘ
pub fn as_slice_arbitary(&self, size: usize) -> &[u8] ⓘ
Return the allocated memory as a slice of u8.
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_slice_accessible(&mut self) -> &mut [u8] ⓘ
pub fn as_mut_slice_accessible(&mut self) -> &mut [u8] ⓘ
Return the allocated memory as a mutable slice of u8.
sourcepub fn as_mut_slice_arbitary(&mut self, size: usize) -> &mut [u8] ⓘ
pub fn as_mut_slice_arbitary(&mut self, size: usize) -> &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.