Trait wasmtime_runtime::ResourceLimiter [−][src]
pub trait ResourceLimiter { fn memory_growing(
&mut self,
current: u32,
desired: u32,
maximum: Option<u32>
) -> bool; fn table_growing(
&mut self,
current: u32,
desired: u32,
maximum: Option<u32>
) -> bool; fn instances(&self) -> usize { ... } fn tables(&self) -> usize { ... } fn memories(&self) -> usize { ... } }
Expand description
Used by hosts to limit resource consumption of instances.
An instance can be created with a resource limiter so that hosts can take into account non-WebAssembly resource usage to determine if a linear memory or table should grow.
Required methods
Notifies the resource limiter that an instance’s linear memory has been requested to grow.
current
is the current size of the linear memory in WebAssembly page units.desired
is the desired size of the linear memory in WebAssembly page units.maximum
is either the linear memory’s maximum or a maximum from an instance allocator, also in WebAssembly page units. A value ofNone
indicates that the linear memory is unbounded.
This function should return true
to indicate that the growing operation is permitted or
false
if not permitted. Returning true
when a maximum has been exceeded will have no
effect as the linear memory will not grow.
Notifies the resource limiter that an instance’s table has been requested to grow.
current
is the current number of elements in the table.desired
is the desired number of elements in the table.maximum
is either the table’s maximum or a maximum from an instance allocator. A value ofNone
indicates that the table is unbounded.
This function should return true
to indicate that the growing operation is permitted or
false
if not permitted. Returning true
when a maximum has been exceeded will have no
effect as the table will not grow.
Provided methods
The maximum number of instances that can be created for a Store
.
Module instantiation will fail if this limit is exceeded.
This value defaults to 10,000.
The maximum number of tables that can be created for a Store
.
Module instantiation will fail if this limit is exceeded.
This value defaults to 10,000.