#[repr(C)]pub struct VMNativeCallHostFuncContext { /* private fields */ }
Expand description
The VM*Context
for native-call host functions.
Its magic
field must always be
wasmtime_environ::VM_NATIVE_CALL_HOST_FUNC_MAGIC
, and this is how you can
determine whether a VM*Context
is a VMNativeCallHostFuncContext
versus a
different kind of context.
Implementations§
source§impl VMNativeCallHostFuncContext
impl VMNativeCallHostFuncContext
sourcepub unsafe fn new(
func_ref: VMFuncRef,
host_state: Box<dyn Any + Send + Sync>
) -> StoreBox<VMNativeCallHostFuncContext>
pub unsafe fn new( func_ref: VMFuncRef, host_state: Box<dyn Any + Send + Sync> ) -> StoreBox<VMNativeCallHostFuncContext>
Create the context for the given host function.
§Safety
The host_func
must be a pointer to a host (not Wasm) function and it
must be Send
and Sync
.
sourcepub fn host_state(&self) -> &(dyn Any + Send + Sync)
pub fn host_state(&self) -> &(dyn Any + Send + Sync)
Get the host state for this host function context.
sourcepub unsafe fn from_opaque(
opaque: *mut VMOpaqueContext
) -> *mut VMNativeCallHostFuncContext
pub unsafe fn from_opaque( opaque: *mut VMOpaqueContext ) -> *mut VMNativeCallHostFuncContext
Helper function to cast between context types using a debug assertion to protect against some mistakes.
Auto Trait Implementations§
impl Freeze for VMNativeCallHostFuncContext
impl !RefUnwindSafe for VMNativeCallHostFuncContext
impl Send for VMNativeCallHostFuncContext
impl Sync for VMNativeCallHostFuncContext
impl Unpin for VMNativeCallHostFuncContext
impl !UnwindSafe for VMNativeCallHostFuncContext
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more