#[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 for WasmModule
impl PartialEq 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 Freeze for WasmModule
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> Filterable for T
impl<T> Filterable for T
source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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