pub struct MemoryBudget {
pub variable_count: usize,
pub variable_bytes: usize,
pub array_entries: usize,
pub function_count: usize,
pub function_body_bytes: usize,
}Expand description
Tracks approximate memory usage for budget enforcement.
Fields§
§variable_count: usizeNumber of scalar variables (excluding internal markers).
variable_bytes: usizeTotal bytes in variable keys + values.
array_entries: usizeTotal entries across all arrays (indexed + associative).
function_count: usizeNumber of function definitions.
function_body_bytes: usizeTotal bytes in function bodies.
Implementations§
Source§impl MemoryBudget
impl MemoryBudget
Sourcepub fn check_variable_insert(
&self,
key_len: usize,
value_len: usize,
is_new: bool,
old_key_len: usize,
old_value_len: usize,
limits: &MemoryLimits,
) -> Result<(), LimitExceeded>
pub fn check_variable_insert( &self, key_len: usize, value_len: usize, is_new: bool, old_key_len: usize, old_value_len: usize, limits: &MemoryLimits, ) -> Result<(), LimitExceeded>
Check if adding a variable would exceed limits.
Sourcepub fn record_variable_insert(
&mut self,
key_len: usize,
value_len: usize,
is_new: bool,
old_key_len: usize,
old_value_len: usize,
)
pub fn record_variable_insert( &mut self, key_len: usize, value_len: usize, is_new: bool, old_key_len: usize, old_value_len: usize, )
Record a variable insert (call after successful insert).
Sourcepub fn record_variable_remove(&mut self, key_len: usize, value_len: usize)
pub fn record_variable_remove(&mut self, key_len: usize, value_len: usize)
Record a variable removal.
Sourcepub fn check_array_entries(
&self,
additional: usize,
limits: &MemoryLimits,
) -> Result<(), LimitExceeded>
pub fn check_array_entries( &self, additional: usize, limits: &MemoryLimits, ) -> Result<(), LimitExceeded>
Check if adding array entries would exceed limits.
Sourcepub fn record_array_insert(&mut self, added: usize)
pub fn record_array_insert(&mut self, added: usize)
Record array entry changes.
Sourcepub fn record_array_remove(&mut self, removed: usize)
pub fn record_array_remove(&mut self, removed: usize)
Record array entry removal.
Sourcepub fn check_function_insert(
&self,
body_bytes: usize,
is_new: bool,
old_body_bytes: usize,
limits: &MemoryLimits,
) -> Result<(), LimitExceeded>
pub fn check_function_insert( &self, body_bytes: usize, is_new: bool, old_body_bytes: usize, limits: &MemoryLimits, ) -> Result<(), LimitExceeded>
Check if adding a function would exceed limits.
Sourcepub fn record_function_insert(
&mut self,
body_bytes: usize,
is_new: bool,
old_body_bytes: usize,
)
pub fn record_function_insert( &mut self, body_bytes: usize, is_new: bool, old_body_bytes: usize, )
Record a function insert.
Sourcepub fn record_function_remove(&mut self, body_bytes: usize)
pub fn record_function_remove(&mut self, body_bytes: usize)
Record a function removal.
Trait Implementations§
Source§impl Clone for MemoryBudget
impl Clone for MemoryBudget
Source§fn clone(&self) -> MemoryBudget
fn clone(&self) -> MemoryBudget
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemoryBudget
impl Debug for MemoryBudget
Source§impl Default for MemoryBudget
impl Default for MemoryBudget
Source§fn default() -> MemoryBudget
fn default() -> MemoryBudget
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MemoryBudget
impl RefUnwindSafe for MemoryBudget
impl Send for MemoryBudget
impl Sync for MemoryBudget
impl Unpin for MemoryBudget
impl UnsafeUnpin for MemoryBudget
impl UnwindSafe for MemoryBudget
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