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§
Source§impl MemoryBudget
impl MemoryBudget
Sourcepub fn new(soft_limit: u64, hard_limit: u64) -> Self
pub fn new(soft_limit: u64, hard_limit: u64) -> Self
Create a budget with soft and hard limits.
Sourcepub fn alloc(&mut self, bytes: u64) -> AllocationResult
pub fn alloc(&mut self, bytes: u64) -> AllocationResult
Record an allocation.
Sourcepub fn usage_fraction(&self) -> f64
pub fn usage_fraction(&self) -> f64
Current usage as fraction (0.0 - 1.0).
Sourcepub fn pressure_level(&self) -> PressureLevel
pub fn pressure_level(&self) -> PressureLevel
Current pressure level.
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 moreAuto 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> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§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,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§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.