pub struct TensorWasmResourceLimiter { /* private fields */ }Expand description
Per-store ResourceLimiter that caps linear-memory growth at the
engine-configured max_memory_bytes.
One instance is attached to each Store via Store::limiter.
Constructing it is cheap (a single usize plus the cached limit). The
engine_max field is duplicated from crate::engine::EngineConfig::max_memory_bytes
so the limiter does not need to re-borrow the engine during the hot
memory.grow path.
Implementations§
Trait Implementations§
Source§impl Debug for TensorWasmResourceLimiter
impl Debug for TensorWasmResourceLimiter
Source§impl ResourceLimiter for TensorWasmResourceLimiter
impl ResourceLimiter for TensorWasmResourceLimiter
Source§fn memory_growing(
&mut self,
_current: usize,
desired: usize,
maximum: Option<usize>,
) -> Result<bool>
fn memory_growing( &mut self, _current: usize, desired: usize, maximum: Option<usize>, ) -> Result<bool>
Notifies the resource limiter that an instance’s linear memory has been
requested to grow. Read more
Source§fn table_growing(
&mut self,
_current: usize,
desired: usize,
maximum: Option<usize>,
) -> Result<bool>
fn table_growing( &mut self, _current: usize, desired: usize, maximum: Option<usize>, ) -> Result<bool>
Notifies the resource limiter that an instance’s table has been
requested to grow. Read more
Source§fn memory_grow_failed(&mut self, error: Error) -> Result<(), Error>
fn memory_grow_failed(&mut self, error: Error) -> Result<(), Error>
Notifies the resource limiter that growing a linear memory, permitted by
the
memory_growing method, has failed. Read moreSource§fn table_grow_failed(&mut self, error: Error) -> Result<(), Error>
fn table_grow_failed(&mut self, error: Error) -> Result<(), Error>
Notifies the resource limiter that growing a linear memory, permitted by
the
table_growing method, has failed. Read moreSource§fn instances(&self) -> usize
fn instances(&self) -> usize
The maximum number of instances that can be created for a
Store. Read moreAuto Trait Implementations§
impl Freeze for TensorWasmResourceLimiter
impl RefUnwindSafe for TensorWasmResourceLimiter
impl Send for TensorWasmResourceLimiter
impl Sync for TensorWasmResourceLimiter
impl Unpin for TensorWasmResourceLimiter
impl UnsafeUnpin for TensorWasmResourceLimiter
impl UnwindSafe for TensorWasmResourceLimiter
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
Mutably borrows from an owned value. Read more
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>
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 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>
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