pub struct MemoryReservation { /* private fields */ }Expand description
Exclusive accounting for bytes retained by an operation.
Dropping the value returns its capacity to the context. Reservations cannot be cloned, preventing one charge from representing multiple owners.
Implementations§
Source§impl MemoryReservation
impl MemoryReservation
Sourcepub fn belongs_to(&self, context: &ExecutionContext) -> bool
pub fn belongs_to(&self, context: &ExecutionContext) -> bool
Reports whether this reservation belongs to the supplied execution account.
Sourcepub fn shrink_to(&mut self, bytes: usize)
pub fn shrink_to(&mut self, bytes: usize)
Reduces this reservation to the exact retained byte count.
Sourcepub fn try_grow(&mut self, additional: usize) -> Result<(), MemoryBudgetError>
pub fn try_grow(&mut self, additional: usize) -> Result<(), MemoryBudgetError>
Extends this reservation before its owner grows an allocation.
§Errors
Returns MemoryBudgetError::Exhausted without changing this
reservation when the additional bytes do not fit.
Trait Implementations§
Source§impl Debug for MemoryReservation
impl Debug for MemoryReservation
Source§impl Drop for MemoryReservation
impl Drop for MemoryReservation
Auto Trait Implementations§
impl Freeze for MemoryReservation
impl RefUnwindSafe for MemoryReservation
impl Send for MemoryReservation
impl Sync for MemoryReservation
impl Unpin for MemoryReservation
impl UnsafeUnpin for MemoryReservation
impl UnwindSafe for MemoryReservation
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> 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