Skip to main content

ResolutionReportLimits

Struct ResolutionReportLimits 

Source
pub struct ResolutionReportLimits {
    pub max_units: u32,
    pub max_definitions: u32,
    pub max_references: u32,
}
Expand description

How many units, definitions, references, and resolution records one report may contain.

The default is the fixed-width identifier ceiling, so on the writer path the configured limit and the ceiling are enforced by the same check rather than by two rules that can disagree. Callers may apply the same limits while decoding through ResolutionReport::deserialize_with_limits.

Fields§

§max_units: u32

Maximum number of resolution units.

§max_definitions: u32

Maximum number of definitions.

§max_references: u32

Maximum number of references.

Decoding applies the same ceiling to resolution records because a valid report carries exactly one record per reference.

Implementations§

Source§

impl ResolutionReportLimits

Source

pub fn admit_unit(&self, count: usize) -> Result<u32, ResolutionReportError>

The index the next unit would take, or the capacity refusal.

Source

pub fn admit_definition( &self, count: usize, ) -> Result<u32, ResolutionReportError>

The index the next definition would take, or the capacity refusal.

Source

pub fn admit_reference( &self, count: usize, ) -> Result<u32, ResolutionReportError>

The index the next reference would take, or the capacity refusal.

Trait Implementations§

Source§

impl Clone for ResolutionReportLimits

Source§

fn clone(&self) -> ResolutionReportLimits

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 ResolutionReportLimits

Source§

impl Debug for ResolutionReportLimits

Source§

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

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

impl Default for ResolutionReportLimits

Source§

fn default() -> Self

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

impl Eq for ResolutionReportLimits

Source§

impl PartialEq for ResolutionReportLimits

Source§

fn eq(&self, other: &ResolutionReportLimits) -> 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 ResolutionReportLimits

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, 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.