Struct fst::raw::MmapReadOnly
source · pub struct MmapReadOnly { /* private fields */ }
Expand description
A read only view into a memory map.
Opening a memory map is unsafe because we cannot guarantee that its underlying memory is not mutated by external processes. This read only memory map guarantees that consumers can at least never modify the underlying data.
It is principally useful for controlling which region of a file an Fst
reads.
Implementations
sourceimpl MmapReadOnly
impl MmapReadOnly
sourcepub unsafe fn open(file: &File) -> Result<MmapReadOnly>
pub unsafe fn open(file: &File) -> Result<MmapReadOnly>
Create a new memory map from an existing file handle.
This is unsafe because Rust programs cannot guarantee that memory backed by a memory mapped file won’t be mutably aliased. It is up to the caller to enforce that the memory map is not modified while it is opened.
sourcepub unsafe fn open_path<P: AsRef<Path>>(path: P) -> Result<MmapReadOnly>
pub unsafe fn open_path<P: AsRef<Path>>(path: P) -> Result<MmapReadOnly>
Open a new memory map from the path given.
This is unsafe because Rust programs cannot guarantee that memory backed by a memory mapped file won’t be mutably aliased. It is up to the caller to enforce that the memory map is not modified while it is opened.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the size in byte of the memory map.
If it is a range, the size is the size of the range.
sourcepub fn range(&self, offset: usize, len: usize) -> MmapReadOnly
pub fn range(&self, offset: usize, len: usize) -> MmapReadOnly
Slice this memory map to a new offset
and len
.
If the new range is outside the bounds of self
, then this method
panics.
Trait Implementations
sourceimpl Clone for MmapReadOnly
impl Clone for MmapReadOnly
sourcefn clone(&self) -> MmapReadOnly
fn clone(&self) -> MmapReadOnly
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more