Struct wasmer_wasix::syscalls::Store

pub(crate) struct Store {
    pub(crate) inner: Box<StoreInner>,
}
Expand description

The store represents all global state that can be manipulated by WebAssembly programs. It consists of the runtime representation of all instances of functions, tables, memories, and globals that have been allocated during the lifetime of the abstract machine.

The Store is tied to the underlying [Engine] that is — among many things — used to compile the Wasm bytes into a valid module artifact.

For more informations, check out the [related WebAssembly specification] [related WebAssembly specification]: https://webassembly.github.io/spec/core/exec/runtime.html#store

Fields§

§inner: Box<StoreInner>

Implementations§

§

impl Store

pub fn new(engine: impl Into<Engine>) -> Store

Creates a new Store with a specific [Engine].

pub fn set_trap_handler( &mut self, handler: Option<Box<dyn Fn(i32, *const siginfo_t, *const c_void) -> bool + Send + Sync>>, )

Set the [TrapHandlerFn] for this store.

§Note

Not every implementor allows changing the trap handler. In those store that don’t allow it, this function has no effect.

pub fn engine(&self) -> &Engine

Returns the [Engine].

pub fn engine_mut(&mut self) -> &mut Engine

Returns mutable reference to [Engine].

pub fn same(a: &Store, b: &Store) -> bool

Checks whether two stores are identical. A store is considered equal to another store if both have the same engine.

pub fn id(&self) -> StoreId

Returns the ID of this store

§

impl Store

pub fn is_sys(&self) -> bool

Return true if [self] is a store from the sys runtime.

Trait Implementations§

§

impl AsEngineRef for Store

§

fn as_engine_ref(&self) -> EngineRef<'_>

Create an [EngineRef] pointing to the underlying context.
§

fn maybe_as_store(&self) -> Option<StoreRef<'_>>

Create a [StoreRef]. Read more
§

impl AsStoreMut for Store

§

fn as_store_mut(&mut self) -> StoreMut<'_>

Returns a StoreMut pointing to the underlying context.
§

fn objects_mut(&mut self) -> &mut StoreObjects

Returns the ObjectMutable
§

impl AsStoreRef for Store

§

fn as_store_ref(&self) -> StoreRef<'_>

Returns a StoreRef pointing to the underlying context.
§

impl Debug for Store

§

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

Formats the value using the given formatter. Read more
§

impl Default for Store

§

fn default() -> Store

Returns the “default value” for a type. Read more
§

impl NativeStoreExt for Store

§

fn signal_handler( &self, ) -> Option<*const dyn Fn(i32, *const siginfo_t, *const c_void) -> bool + Send + Sync>

The signal handler

§

fn set_trap_handler( &mut self, handler: Option<Box<dyn Fn(i32, *const siginfo_t, *const c_void) -> bool + Send + Sync>>, )

Sets the trap handler
§

impl PartialEq for Store

§

fn eq(&self, other: &Store) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Send for Store

§

impl Sync for Store

Auto Trait Implementations§

§

impl Freeze for Store

§

impl !RefUnwindSafe for Store

§

impl Unpin for Store

§

impl !UnwindSafe for Store

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where 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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> LayoutRaw for T

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The metadata type for pointers and references to this type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.
source§

impl<T> Upcastable for T
where T: Any + Debug + 'static,

source§

fn upcast_any_ref(&self) -> &(dyn Any + 'static)

source§

fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)

source§

fn upcast_any_box(self: Box<T>) -> Box<dyn Any>

§

impl<T> Upcastable for T
where T: Any + Send + Sync + 'static,

§

fn upcast_any_ref(&self) -> &(dyn Any + 'static)

upcast ref
§

fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)

upcast mut ref
§

fn upcast_any_box(self: Box<T>) -> Box<dyn Any>

upcast boxed dyn
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

§

impl<T> MaybeSendSync for T