pub trait Memory {
type GrowError: Debug;
// Required methods
fn grow(&mut self, pages: WasmPage) -> Result<(), Self::GrowError>;
fn size(&self) -> WasmPage;
fn write(&mut self, offset: u32, buffer: &[u8]) -> Result<(), MemoryError>;
fn read(&self, offset: u32, buffer: &mut [u8]) -> Result<(), MemoryError>;
unsafe fn get_buffer_host_addr_unsafe(&mut self) -> HostPointer;
// Provided method
fn get_buffer_host_addr(&mut self) -> Option<HostPointer> { ... }
}
Expand description
Backend wasm memory interface.
Required Associated Types§
Required Methods§
sourcefn grow(&mut self, pages: WasmPage) -> Result<(), Self::GrowError>
fn grow(&mut self, pages: WasmPage) -> Result<(), Self::GrowError>
Grow memory by number of pages.
sourcefn write(&mut self, offset: u32, buffer: &[u8]) -> Result<(), MemoryError>
fn write(&mut self, offset: u32, buffer: &[u8]) -> Result<(), MemoryError>
Set memory region at specific pointer.
sourcefn read(&self, offset: u32, buffer: &mut [u8]) -> Result<(), MemoryError>
fn read(&self, offset: u32, buffer: &mut [u8]) -> Result<(), MemoryError>
Reads memory contents at the given offset into a buffer.
sourceunsafe fn get_buffer_host_addr_unsafe(&mut self) -> HostPointer
unsafe fn get_buffer_host_addr_unsafe(&mut self) -> HostPointer
Provided Methods§
sourcefn get_buffer_host_addr(&mut self) -> Option<HostPointer>
fn get_buffer_host_addr(&mut self) -> Option<HostPointer>
Returns native addr of wasm memory buffer in wasm executor