Struct MemoryBudget
pub struct MemoryBudget {
pub soft_limit_bytes: u64,
pub hard_limit_bytes: u64,
pub current_bytes: u64,
pub peak_bytes: u64,
pub mitigation: MitigationStrategy,
}Expand description
Per-actor memory budget.
Fields§
§soft_limit_bytes: u64Soft limit: warning emitted when exceeded.
hard_limit_bytes: u64Hard limit: enforced maximum.
current_bytes: u64Current allocation.
peak_bytes: u64Peak allocation observed.
mitigation: MitigationStrategyMitigation strategy when budget exceeded.
Implementations§
§impl MemoryBudget
impl MemoryBudget
pub fn new(soft_limit: u64, hard_limit: u64) -> MemoryBudget
pub fn new(soft_limit: u64, hard_limit: u64) -> MemoryBudget
Create a budget with soft and hard limits.
pub fn alloc(&mut self, bytes: u64) -> AllocationResult
pub fn alloc(&mut self, bytes: u64) -> AllocationResult
Record an allocation.
pub fn usage_fraction(&self) -> f64
pub fn usage_fraction(&self) -> f64
Current usage as fraction (0.0 - 1.0).
pub fn pressure_level(&self) -> PressureLevel
pub fn pressure_level(&self) -> PressureLevel
Current pressure level.
Trait Implementations§
§impl Clone for MemoryBudget
impl Clone for MemoryBudget
§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 moreAuto Trait Implementations§
impl Freeze for MemoryBudget
impl RefUnwindSafe for MemoryBudget
impl Send for MemoryBudget
impl Sync for MemoryBudget
impl Unpin for MemoryBudget
impl UnwindSafe for MemoryBudget
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.