pub struct StoreLimitsBuilder(/* private fields */);
Expand description
Used to build StoreLimits
.
Implementations§
source§impl StoreLimitsBuilder
impl StoreLimitsBuilder
sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new StoreLimitsBuilder
.
See the documentation on each builder method for the default for each value.
sourcepub fn memory_size(self, limit: usize) -> Self
pub fn memory_size(self, limit: usize) -> Self
The maximum number of bytes a linear memory can grow to.
Growing a linear memory beyond this limit will fail. This limit is
applied to each linear memory individually, so if a wasm module has
multiple linear memories then they’re all allowed to reach up to the
limit
specified.
By default, linear memory will not be limited.
sourcepub fn table_elements(self, limit: u32) -> Self
pub fn table_elements(self, limit: u32) -> Self
The maximum number of elements in a table.
Growing a table beyond this limit will fail. This limit is applied to
each table individually, so if a wasm module has multiple tables then
they’re all allowed to reach up to the limit
specified.
By default, table elements will not be limited.
sourcepub fn instances(self, limit: usize) -> Self
pub fn instances(self, limit: usize) -> Self
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.
sourcepub fn tables(self, tables: usize) -> Self
pub fn tables(self, tables: usize) -> Self
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.
sourcepub fn memories(self, memories: usize) -> Self
pub fn memories(self, memories: usize) -> Self
The maximum number of linear memories that can be created for a Store
.
Instantiation will fail with an error if this limit is exceeded.
This value defaults to 10,000.
sourcepub fn trap_on_grow_failure(self, trap: bool) -> Self
pub fn trap_on_grow_failure(self, trap: bool) -> Self
Indicates that a trap should be raised whenever a growth operation would fail.
This operation will force memory.grow
and table.grow
instructions
to raise a trap on failure instead of returning -1. This is not
necessarily spec-compliant, but it can be quite handy when debugging a
module that fails to allocate memory and might behave oddly as a result.
This value defaults to false
.
sourcepub fn build(self) -> StoreLimits
pub fn build(self) -> StoreLimits
Consumes this builder and returns the StoreLimits
.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for StoreLimitsBuilder
impl RefUnwindSafe for StoreLimitsBuilder
impl Send for StoreLimitsBuilder
impl Sync for StoreLimitsBuilder
impl Unpin for StoreLimitsBuilder
impl UnwindSafe for StoreLimitsBuilder
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.