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

Wasm3EngineProvider implements the WebAssemblyEngineProvider trait and normalizes the interface to the wasm3 engine.

Implementations§

source§

impl Wasm3EngineProvider

source

pub fn new(buf: &[u8]) -> Wasm3EngineProvider

Instantiate a new wasm3 provider with the supplied wasm module.

Trait Implementations§

source§

impl WebAssemblyEngineProvider for Wasm3EngineProvider

source§

fn init( &mut self, host: Arc<ModuleState> ) -> Result<(), Box<dyn Error + Send + Sync + 'static>>

Tell the engine provider that it can do whatever processing it needs to do for initialization and give it access to the module state
source§

fn call( &mut self, op_length: i32, msg_length: i32 ) -> Result<i32, Box<dyn Error + Send + Sync + 'static>>

Trigger the waPC function call. Engine provider is responsible for execution and using the appropriate methods on the module host. When this function is complete, the guest response and optionally the guest error must be set to represent the high-level call result
source§

fn replace( &mut self, _bytes: &[u8] ) -> Result<(), Box<dyn Error + Send + Sync + 'static>>

Called by the host to replace the WebAssembly module bytes of the previously initialized module. Engine must return an error if it does not support bytes replacement.

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,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · 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.
const: unstable · source§

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

Performs the conversion.