pub struct Store<T> { /* private fields */ }
Expand description
The store that owns all data associated to Wasm modules.
Implementations§
Source§impl<T> Store<T>
impl<T> Store<T>
Sourcepub fn data(&self) -> &T
pub fn data(&self) -> &T
Returns a shared reference to the user provided data owned by this Store
.
Sourcepub fn data_mut(&mut self) -> &mut T
pub fn data_mut(&mut self) -> &mut T
Returns an exclusive reference to the user provided data owned by this Store
.
Sourcepub fn limiter(
&mut self,
limiter: impl FnMut(&mut T) -> &mut dyn ResourceLimiter + Send + Sync + 'static,
)
pub fn limiter( &mut self, limiter: impl FnMut(&mut T) -> &mut dyn ResourceLimiter + Send + Sync + 'static, )
Installs a function into the Store
that will be called with the user
data type T
to retrieve a ResourceLimiter
any time a limited,
growable resource such as a linear memory or table is grown.
Sourcepub fn get_fuel(&self) -> Result<u64, Error>
pub fn get_fuel(&self) -> Result<u64, Error>
Returns the remaining fuel of the Store
if fuel metering is enabled.
§Note
Enable fuel metering via Config::consume_fuel
.
§Errors
If fuel metering is disabled.
Sourcepub fn set_fuel(&mut self, fuel: u64) -> Result<(), Error>
pub fn set_fuel(&mut self, fuel: u64) -> Result<(), Error>
Sets the remaining fuel of the Store
to value
if fuel metering is enabled.
§Note
Enable fuel metering via Config::consume_fuel
.
§Errors
If fuel metering is disabled.
Sourcepub fn call_hook(
&mut self,
hook: impl FnMut(&mut T, CallHook) -> Result<(), Error> + Send + Sync + 'static,
)
pub fn call_hook( &mut self, hook: impl FnMut(&mut T, CallHook) -> Result<(), Error> + Send + Sync + 'static, )
Sets a callback function that is executed whenever a WebAssembly function is called from the host or a host function is called from WebAssembly, or these functions return.
The function is passed a &mut T
to the underlying store, and a
CallHook
. CallHook
can be used to find out what kind of function
is being called or returned from.
The callback can either return Ok(())
or an Err
with an
Error
. If an error is returned, it is returned to the host
caller. If there are nested calls, only the most recent host caller
receives the error and it is not propagated further automatically. The
hook may be invoked again as new functions are called and returned from.