pub trait FunctionContext {
// Required methods
fn read_memory_into(
&self,
address: Pointer<u8>,
dest: &mut [u8],
) -> Result<()>;
fn write_memory(&mut self, address: Pointer<u8>, data: &[u8]) -> Result<()>;
fn allocate_memory(&mut self, size: WordSize) -> Result<Pointer<u8>>;
fn deallocate_memory(&mut self, ptr: Pointer<u8>) -> Result<()>;
fn sandbox(&mut self) -> &mut dyn Sandbox;
// Provided method
fn read_memory(
&self,
address: Pointer<u8>,
size: WordSize,
) -> Result<Vec<u8>> { ... }
}
Expand description
Context used by Function
to interact with the allocator and the memory of the wasm instance.
Required Methods§
Sourcefn read_memory_into(&self, address: Pointer<u8>, dest: &mut [u8]) -> Result<()>
fn read_memory_into(&self, address: Pointer<u8>, dest: &mut [u8]) -> Result<()>
Read memory into the given dest
buffer from address
.
Sourcefn write_memory(&mut self, address: Pointer<u8>, data: &[u8]) -> Result<()>
fn write_memory(&mut self, address: Pointer<u8>, data: &[u8]) -> Result<()>
Write the given data at address
into the memory.
Sourcefn allocate_memory(&mut self, size: WordSize) -> Result<Pointer<u8>>
fn allocate_memory(&mut self, size: WordSize) -> Result<Pointer<u8>>
Allocate a memory instance of size
bytes.