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>
impl<'a> TokenExtensions<'a>
Sourcepub fn read(parent: &Reader<'a>, element: &Element<'a>) -> Result<Self>
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
Sourcepub fn entries(&self) -> &[TokenExtension<'a>]
pub fn entries(&self) -> &[TokenExtension<'a>]
Retained first readings in original order; no lookup/traversal is done.
Sourcepub fn faults(&self) -> &[Error]
pub fn faults(&self) -> &[Error]
Structural/recovery diagnostics, distinct from resource refusal.
Sourcepub fn unrecognized_critical<E>(
&self,
parent: &Reader<'_>,
recognizes: impl FnMut(&TokenExtension<'a>, &Execution<'_>) -> Result<bool, E>,
) -> Result<OwnedVec<Oid<'a>>, RecognitionError<E>>
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