Skip to main content

EnforcementLevel

Enum EnforcementLevel 

Source
pub enum EnforcementLevel {
    Strict,
    BestEffort {
        reason: String,
    },
    None {
        reason: String,
    },
}
Expand description

Reports the actual enforcement level achieved for an operation.

When using soft mode, operations may succeed with reduced guarantees. This enum allows callers to inspect what level of NUMA policy enforcement was actually achieved.

Variants§

§

Strict

The policy is fully enforced.

Memory is bound to the requested nodes, threads are pinned, and the kernel guarantees the placement.

§

BestEffort

The policy was applied but is not guaranteed.

The kernel will try to honor the policy, but may move pages or threads under memory pressure or other conditions.

Fields

§reason: String

Why strict enforcement was not possible.

§

None

No NUMA policy was applied.

The operation succeeded, but no NUMA-specific behavior is in effect. Memory may be allocated from any node.

Fields

§reason: String

Why no policy could be applied.

Implementations§

Source§

impl EnforcementLevel

Source

pub fn strict() -> Self

Create a strict enforcement level.

Source

pub fn best_effort(reason: impl Into<String>) -> Self

Create a best-effort enforcement level.

Source

pub fn none(reason: impl Into<String>) -> Self

Create a none enforcement level.

Source

pub fn is_strict(&self) -> bool

Check if this is strict enforcement.

Source

pub fn is_best_effort(&self) -> bool

Check if this is best-effort enforcement.

Source

pub fn is_none(&self) -> bool

Check if no enforcement was applied.

Source

pub fn reason(&self) -> Option<&str>

Get the degradation reason, if any.

Trait Implementations§

Source§

impl Clone for EnforcementLevel

Source§

fn clone(&self) -> EnforcementLevel

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for EnforcementLevel

Source§

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

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

impl Default for EnforcementLevel

Source§

fn default() -> EnforcementLevel

Returns the “default value” for a type. Read more
Source§

impl Display for EnforcementLevel

Source§

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

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

impl PartialEq for EnforcementLevel

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for EnforcementLevel

Source§

impl StructuralPartialEq for EnforcementLevel

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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.