pub struct Instance { /* private fields */ }
Expand description

An Instance represents an instantiated module. In the instantiation process, An Instance is created from alModule. From an Instance the exported functions, tables, memories, and globals can be fetched.

Implementations§

source§

impl Instance

source

pub fn name(&self) -> Option<String>

Returns the name of this exported module instance.

If this module instance is an active module instance, then None is returned.

source

pub fn get_func(&self, name: impl AsRef<str>) -> WasmEdgeResult<Function>

Returns the exported function instance by name.

Argument
Error

If fail to find the target function, then an error is returned.

source

pub fn get_table(&self, name: impl AsRef<str>) -> WasmEdgeResult<Table>

Returns the exported table instance by name.

Argument
Error

If fail to find the target table instance, then an error is returned.

source

pub fn get_memory(&self, name: impl AsRef<str>) -> WasmEdgeResult<Memory>

Returns the exported memory instance by name.

Argument
Error

If fail to find the target memory instance, then an error is returned.

source

pub fn get_global(&self, name: impl AsRef<str>) -> WasmEdgeResult<Global>

Returns the exported global instance by name.

Argument
Error

If fail to find the target global instance, then an error is returned.

source

pub fn func_len(&self) -> u32

Returns the length of the exported function instances in this module instance.

source

pub fn func_names(&self) -> Option<Vec<String>>

Returns the names of the exported function instances in this module instance.

source

pub fn table_len(&self) -> u32

Returns the length of the exported table instances in this module instance.

source

pub fn table_names(&self) -> Option<Vec<String>>

Returns the names of the exported table instances in this module instance.

source

pub fn mem_len(&self) -> u32

Returns the length of the exported memory instances in this module instance.

source

pub fn mem_names(&self) -> Option<Vec<String>>

Returns the names of all exported memory instances in this module instance.

source

pub fn global_len(&self) -> u32

Returns the length of the exported global instances in this module instance.

source

pub fn global_names(&self) -> Option<Vec<String>>

Returns the names of the exported global instances in this module instance.

source

pub fn host_data<T: Send + Sync + Clone>(&mut self) -> Option<&mut T>

Returns the host data held by the module instance.

source

pub fn as_ptr(&self) -> *const WasmEdge_ModuleInstanceContext

Available on crate feature ffi only.

Provides a raw pointer to the inner module instance context.

Trait Implementations§

source§

impl Clone for Instance

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Instance

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Drop for Instance

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V