Skip to main content

ProcessMemoryLimit

Struct ProcessMemoryLimit 

Source
pub struct ProcessMemoryLimit { /* private fields */ }
Expand description

Represents process memory limit.

Implementations§

Source§

impl ProcessMemoryLimit

Source

pub fn detect() -> RuntimeResult<Self>

Detects the effective process memory limit.

§Errors

Returns an operational error when process, cgroup, or environment discovery cannot provide a finite limit.

Source

pub fn detect_with_view(view: &dyn MemoryFileView) -> RuntimeResult<Self>

Detects the effective process memory limit through an injectable file view.

The explicit environment override wins. Otherwise the cgroup membership and mounts are read from the view when the platform uses them, and the smallest finite hard limit wins over the host physical memory fallback. A HostPhysicalMemory source on Linux means no finite cgroup hard limit was visible from this process’s membership, so the kernel may enforce a tighter constraint than the reported one.

§Errors

Returns a configuration error when the explicit environment value is not a positive byte count, and an operational error when the view cannot read a file that exists or when no finite constraint is discoverable.

Source

pub fn configured(bytes: u64) -> Result<Self, RuntimeContractViolation>

Creates an explicitly configured process memory limit.

§Errors

Returns a contract violation when bytes is zero.

Source

pub const fn bytes(self) -> u64

Returns the bytes.

Source

pub const fn source(self) -> MemoryLimitSource

Returns the source.

Source

pub fn fraction( self, numerator: u64, denominator: u64, ) -> Result<u64, RuntimeContractViolation>

Returns a positive bounded fraction of this limit.

§Errors

Returns a contract violation for a zero, inverted, or out-of-range fraction.

Trait Implementations§

Source§

impl Clone for ProcessMemoryLimit

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ProcessMemoryLimit

Source§

impl Debug for ProcessMemoryLimit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ProcessMemoryLimit

Source§

impl PartialEq for ProcessMemoryLimit

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ProcessMemoryLimit

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more