Skip to main content

TokenExtensions

Struct TokenExtensions 

Source
pub struct TokenExtensions<'a> { /* private fields */ }
Expand description

Recovered first readings plus independently owned source-located faults. These are inspection facts, not extension recognition or token acceptance.

Implementations§

Source§

impl<'a> TokenExtensions<'a>

Source

pub fn read(parent: &Reader<'a>, element: &Element<'a>) -> Result<Self>

Reads [1] IMPLICIT Extensions from the original producing reader.

RFC3161 §2.4.2 uses RFC5280 Extension grammar but specifies no recovery. This inspection contract retains equal logical duplicate values once with faults and refuses conflicts; bounded unreadable members leave independent later members visible. DEFAULT diagnostics precede deferred value parsing, and trailing diagnostics follow it. The strict certificate catalogue stays strict; it is not reused as a permissive token profile. https://www.rfc-editor.org/rfc/rfc3161#section-2.4.2

Source

pub fn entries(&self) -> &[TokenExtension<'a>]

Retained first readings in original order; no lookup/traversal is done.

Source

pub fn faults(&self) -> &[Error]

Structural/recovery diagnostics, distinct from resource refusal.

Source

pub fn span(&self) -> Span

Original implicit wrapper range.

Source

pub fn unrecognized_critical<E>( &self, parent: &Reader<'_>, recognizes: impl FnMut(&TokenExtension<'a>, &Execution<'_>) -> Result<bool, E>, ) -> Result<OwnedVec<Oid<'a>>, RecognitionError<E>>

Recognizes every critical token extension under current query work.

RFC3161 §2.4.2 defines the extension structure but does not mandate a client’s understanding of all extension semantics. This explicit query reports unrecognized critical entries for the caller’s acceptance rule; it does not assert that all noncritical entries are acceptable. Request extensions have a different server-recognition contract (§2.4.1) and are not processed by this method. Each catalogue entry is paid before inspection, including noncritical entries. The handler must admit its own data-dependent OID/value work; this metadata charge cannot cover an arbitrary extension implementation. https://www.rfc-editor.org/rfc/rfc3161#section-2.4.2

Trait Implementations§

Source§

impl<'a> Debug for TokenExtensions<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !Freeze for TokenExtensions<'a>

§

impl<'a> !RefUnwindSafe for TokenExtensions<'a>

§

impl<'a> !Send for TokenExtensions<'a>

§

impl<'a> !Sync for TokenExtensions<'a>

§

impl<'a> !UnwindSafe for TokenExtensions<'a>

§

impl<'a> Unpin for TokenExtensions<'a>

§

impl<'a> UnsafeUnpin for TokenExtensions<'a>

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