pub trait MemoryRegion {
// Required methods
fn range(&self) -> Range<u64>;
fn read(
&self,
address_range: Range<u64>,
) -> Result<Option<Vec<u8>>, MemoryReadError>;
// Provided methods
fn read_u8(&self, address: u64) -> Result<Option<u8>, MemoryReadError> { ... }
fn read_u32(
&self,
address: u64,
endianness: RunTimeEndian,
) -> Result<Option<u32>, MemoryReadError> { ... }
}Expand description
A collection of bytes that capture a memory region
Required Methods§
Provided Methods§
Sourcefn read_u8(&self, address: u64) -> Result<Option<u8>, MemoryReadError>
fn read_u8(&self, address: u64) -> Result<Option<u8>, MemoryReadError>
Reads a byte from the given address if it is present in the region
Sourcefn read_u32(
&self,
address: u64,
endianness: RunTimeEndian,
) -> Result<Option<u32>, MemoryReadError>
fn read_u32( &self, address: u64, endianness: RunTimeEndian, ) -> Result<Option<u32>, MemoryReadError>
Reads a u32 from the given address if it is present in the region
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl MemoryRegion for VecMemoryRegion
Available on crate feature
std only.impl<'a> MemoryRegion for SliceMemoryRegion<'a>
Available on crate feature
std only.impl<const SIZE: usize> MemoryRegion for ArrayMemoryRegion<SIZE>
Available on crate feature
std only.