Trait sp_wasm_interface::Sandbox
source · [−]pub trait Sandbox {
fn memory_get(
&mut self,
memory_id: MemoryId,
offset: WordSize,
buf_ptr: Pointer<u8>,
buf_len: WordSize
) -> Result<u32>;
fn memory_set(
&mut self,
memory_id: MemoryId,
offset: WordSize,
val_ptr: Pointer<u8>,
val_len: WordSize
) -> Result<u32>;
fn memory_teardown(&mut self, memory_id: MemoryId) -> Result<()>;
fn memory_new(&mut self, initial: u32, maximum: u32) -> Result<MemoryId>;
fn invoke(
&mut self,
instance_id: u32,
export_name: &str,
args: &[u8],
return_val: Pointer<u8>,
return_val_len: WordSize,
state: u32
) -> Result<u32>;
fn instance_teardown(&mut self, instance_id: u32) -> Result<()>;
fn instance_new(
&mut self,
dispatch_thunk_id: u32,
wasm: &[u8],
raw_env_def: &[u8],
state: u32
) -> Result<u32>;
fn get_global_val(
&self,
instance_idx: u32,
name: &str
) -> Result<Option<Value>>;
}
Expand description
Something that provides access to the sandbox.
Required methods
Get sandbox memory from the memory_id
instance at offset
into the given buffer.
Set sandbox memory from the given value.
fn memory_teardown(&mut self, memory_id: MemoryId) -> Result<()>
fn memory_teardown(&mut self, memory_id: MemoryId) -> Result<()>
Delete a memory instance.
Create a new memory instance with the given initial
size and the maximum
size.
The size is given in wasm pages.
Invoke an exported function by a name.
fn instance_teardown(&mut self, instance_id: u32) -> Result<()>
fn instance_teardown(&mut self, instance_id: u32) -> Result<()>
Delete a sandbox instance.
Create a new sandbox instance.