Skip to main content

AuthorityClosure

Struct AuthorityClosure 

Source
pub struct AuthorityClosure<'view, 'certificate, 'document> { /* private fields */ }
Expand description

Complete reachable authority-input set, not a baseline level or Good verdict. Every borrowed node retains the original status, freshness, nonce, configured trust and noCheck facts. Only reached nodes are retained; temporary indexes are released before return. No provider/parse/signature callback is replayed.

Implementations§

Source§

impl<'view, 'certificate, 'document> AuthorityClosure<'view, 'certificate, 'document>

Source

pub fn roots( &self, ) -> &'view [&'view PathStatuses<'view, 'certificate, 'document>]

Actual selected actor inputs; actor-to-signature association is separate.

Source

pub fn nodes(&self) -> &[&'view AuthorityNode<'view, 'certificate, 'document>]

All reached original paths, each once per exact evaluation label.

Source§

impl<'view, 'certificate, 'document> AuthorityClosure<'view, 'certificate, 'document>

Source

pub fn visit_roots<E, W: Work>( &self, work: &W, visitor: impl FnMut(usize, &'view AuthorityNode<'view, 'certificate, 'document>) -> Result<(), E>, ) -> Result<(), AuthorityVisitError<E>>

Visit each root’s exact reachable authority nodes once, including the root itself. The root ordinal retains individual actor attribution even when different TSA/signature/credential actors share a path. This is the relation needed for EN319132-1 §6.3(x), not aggregate TSA-purpose bits. https://www.etsi.org/deliver/etsi_en/319100_319199/31913201/01.03.01_60/en_31913201v010301p.pdf

Reuses the SAME complete/delta/OCSP dependency kernel as closure and role propagation. No parsing, provider, cryptographic/status check is replayed. One current-operation index and iterative queue are reused across roots; cycles terminate, shared paths remain attributed to each original root. Work admits each edge/lookup/visitor dispatch, and scratch capacity is released on success/refusal. The visitor funds its own dependent work. No partial returned collection or baseline/Good verdict is manufactured.

Auto Trait Implementations§

§

impl<'view, 'certificate, 'document> !Freeze for AuthorityClosure<'view, 'certificate, 'document>

§

impl<'view, 'certificate, 'document> !RefUnwindSafe for AuthorityClosure<'view, 'certificate, 'document>

§

impl<'view, 'certificate, 'document> !Send for AuthorityClosure<'view, 'certificate, 'document>

§

impl<'view, 'certificate, 'document> !Sync for AuthorityClosure<'view, 'certificate, 'document>

§

impl<'view, 'certificate, 'document> !UnwindSafe for AuthorityClosure<'view, 'certificate, 'document>

§

impl<'view, 'certificate, 'document> Unpin for AuthorityClosure<'view, 'certificate, 'document>

§

impl<'view, 'certificate, 'document> UnsafeUnpin for AuthorityClosure<'view, 'certificate, 'document>

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.