pub trait MmapFileExt {
Show 50 methods fn len(&self) -> usize; fn as_slice(&self) -> &[u8]Notable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]; fn path(&self) -> &Path; fn metadata(&self) -> Result<MetaData>; fn is_exec(&self) -> bool; fn lock_exclusive(&self) -> Result<()>; fn lock_shared(&self) -> Result<()>; fn try_lock_exclusive(&self) -> Result<()>; fn try_lock_shared(&self) -> Result<()>; fn unlock(&self) -> Result<()>; fn is_empty(&self) -> bool { ... } fn slice(&self, offset: usize, sz: usize) -> &[u8]Notable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8] { ... } fn bytes(&self, offset: usize, sz: usize) -> Result<&[u8]> { ... } fn path_buf(&self) -> PathBuf { ... } fn path_lossy(&self) -> Cow<'_, str> { ... } fn path_string(&self) -> String { ... } fn copy_all_to_vec(&self) -> Vec<u8>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
{ ... } fn copy_range_to_vec(&self, offset: usize, len: usize) -> Vec<u8>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
{ ... } fn write_all_to_new_file<P: AsRef<Path>>(
        &self,
        new_file_path: P
    ) -> Result<()> { ... } fn write_range_to_new_file<P: AsRef<Path>>(
        &self,
        new_file_path: P,
        offset: usize,
        len: usize
    ) -> Result<()> { ... } fn reader(&self, offset: usize) -> Result<MmapFileReader<'_>> { ... } fn range_reader(
        &self,
        offset: usize,
        len: usize
    ) -> Result<MmapFileReader<'_>> { ... } fn read(&self, dst: &mut [u8], offset: usize) -> usize { ... } fn read_exact(&self, dst: &mut [u8], offset: usize) -> Result<()> { ... } fn read_i8(&self, offset: usize) -> Result<i8> { ... } fn read_i16(&self, offset: usize) -> Result<i16> { ... } fn read_i16_le(&self, offset: usize) -> Result<i16> { ... } fn read_isize(&self, offset: usize) -> Result<isize> { ... } fn read_isize_le(&self, offset: usize) -> Result<isize> { ... } fn read_i32(&self, offset: usize) -> Result<i32> { ... } fn read_i32_le(&self, offset: usize) -> Result<i32> { ... } fn read_i64(&self, offset: usize) -> Result<i64> { ... } fn read_i64_le(&self, offset: usize) -> Result<i64> { ... } fn read_i128(&self, offset: usize) -> Result<i128> { ... } fn read_i128_le(&self, offset: usize) -> Result<i128> { ... } fn read_u8(&self, offset: usize) -> Result<u8> { ... } fn read_u16(&self, offset: usize) -> Result<u16> { ... } fn read_u16_le(&self, offset: usize) -> Result<u16> { ... } fn read_usize(&self, offset: usize) -> Result<usize> { ... } fn read_usize_le(&self, offset: usize) -> Result<usize> { ... } fn read_u32(&self, offset: usize) -> Result<u32> { ... } fn read_u32_le(&self, offset: usize) -> Result<u32> { ... } fn read_u64(&self, offset: usize) -> Result<u64> { ... } fn read_u64_le(&self, offset: usize) -> Result<u64> { ... } fn read_u128(&self, offset: usize) -> Result<u128> { ... } fn read_u128_le(&self, offset: usize) -> Result<u128> { ... } fn read_f32(&self, offset: usize) -> Result<f32> { ... } fn read_f32_le(&self, offset: usize) -> Result<f32> { ... } fn read_f64(&self, offset: usize) -> Result<f64> { ... } fn read_f64_le(&self, offset: usize) -> Result<f64> { ... }
}
Expand description

Utility methods to MmapFile

Required Methods

Returns the current mmap length

Returns the underlying slice of the mmap

Returns the path of the inner file.

Returns the metadata of file metadata

Metadata information about a file. This structure is returned from the metadata or symlink_metadata function or method and represents known metadata about a file such as its permissions, size, modification times, etc

Whether the mmap is executable.

Locks the file for shared usage, blocking if the file is currently locked exclusively.

Notes

This function will do nothing if the underlying is not a real file, e.g. in-memory.

Locks the file for exclusive usage, blocking if the file is currently locked.

Notes

This function will do nothing if the underlying is not a real file, e.g. in-memory.

Locks the file for shared usage, or returns a an error if the file is currently locked (see lock_contended_error).

Notes

This function will do nothing if the underlying is not a real file, e.g. in-memory.

Locks the file for shared usage, or returns a an error if the file is currently locked (see lock_contended_error).Locks the file for shared usage, or returns a an error if the file is currently locked (see lock_contended_error).

Notes

This function will do nothing if the underlying is not a real file, e.g. in-memory.

Unlocks the file.

Notes

This function will do nothing if the underlying is not a real file, e.g. in-memory.

Provided Methods

Returns the mmap is empty of not.

slice returns data starting from offset off of size sz.

Panics

If there’s not enough data, it would panic.

bytes returns data starting from offset off of size sz.

Errors

If there’s not enough data, it would return Err(Error::from(ErrorKind::EOF)).

Returns the path buf of the inner file.

Returns the path lossy string of the inner file.

Returns the path string of the inner file.

Copy the content of the mmap file to Vec

Copy a range of content of the mmap file to Vec

Write the content of the mmap file to a new file.

Write a range of content of the mmap file to new file.

Returns a MmapFileReader which helps read data from mmap like a normal File.

Errors

If there’s not enough data, it would return Err(Error::from(ErrorKind::EOF)).

Returns a MmapFileReader base on the given offset and len, which helps read data from mmap like a normal File.

Errors

If there’s not enough data, it would return Err(Error::from(ErrorKind::EOF)).

Read bytes to the dst buf from the offset, returns how many bytes read.

Read the exact number of bytes required to fill buf.

Read a signed 8 bit integer from offset.

Read a signed 16 bit integer from offset in big-endian byte order.

Read a signed 16 bit integer from offset in little-endian byte order.

Read a signed integer from offset in big-endian byte order.

Read a signed integer from offset in little-endian byte order.

Read a signed 32 bit integer from offset in big-endian byte order.

Read a signed 32 bit integer from offset in little-endian byte order.

Read a signed 64 bit integer from offset in big-endian byte order.

Read a signed 64 bit integer from offset in little-endian byte order.

Read a signed 128 bit integer from offset in big-endian byte order.

Read a signed 128 bit integer from offset in little-endian byte order.

Read an unsigned 8 bit integer from offset.

Read an unsigned 16 bit integer from offset in big-endian.

Read an unsigned 16 bit integer from offset in little-endian.

Read an unsigned integer from offset in big-endian byte order.

Read an unsigned integer from offset in little-endian byte order.

Read an unsigned 32 bit integer from offset in big-endian.

Read an unsigned 32 bit integer from offset in little-endian.

Read an unsigned 64 bit integer from offset in big-endian.

Read an unsigned 64 bit integer from offset in little-endian.

Read an unsigned 128 bit integer from offset in big-endian.

Read an unsigned 128 bit integer from offset in little-endian.

Read an IEEE754 single-precision (4 bytes) floating point number from offset in big-endian byte order.

Read an IEEE754 single-precision (4 bytes) floating point number from offset in little-endian byte order.

Read an IEEE754 single-precision (8 bytes) floating point number from offset in big-endian byte order.

Read an IEEE754 single-precision (8 bytes) floating point number from offset in little-endian byte order.

Implementors