#[repr(C)]pub struct WasmModule {
pub vtable_: *const WasmModule__bindgen_vtable,
pub _base: AtomicRefCounted,
}
Expand description
The WasmModule interface allows the embedding to hold a reference to the underying C++ implementation of a JS WebAssembly.Module object for purposes of efficient postMessage() and (de)serialization from a random thread.
In particular, this allows postMessage() of a WebAssembly.Module: GetWasmModule() is called when making a structured clone of a payload containing a WebAssembly.Module object. The structured clone buffer holds a refcount of the JS::WasmModule until createObject() is called in the target agent’s JSContext. The new WebAssembly.Module object continues to hold the JS::WasmModule and thus the final reference of a JS::WasmModule may be dropped from any thread and so the virtual destructor (and all internal methods of the C++ module) must be thread-safe.
Fields§
§vtable_: *const WasmModule__bindgen_vtable
§_base: AtomicRefCounted
Trait Implementations§
source§impl Debug for WasmModule
impl Debug for WasmModule
source§impl PartialEq<WasmModule> for WasmModule
impl PartialEq<WasmModule> for WasmModule
source§fn eq(&self, other: &WasmModule) -> bool
fn eq(&self, other: &WasmModule) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for WasmModule
Auto Trait Implementations§
impl RefUnwindSafe for WasmModule
impl !Send for WasmModule
impl !Sync for WasmModule
impl Unpin for WasmModule
impl UnwindSafe for WasmModule
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where F: FnOnce(&Self) -> bool,
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more