Skip to main content

ParticipantRequirements

Struct ParticipantRequirements 

Source
pub struct ParticipantRequirements<'path, 'document, N, D, G, I> { /* private fields */ }
Expand description

All source-derived actor paths for ONE original validation-data scope. Paths shared by several actors remain separately attributed. Status-input closure, placement/coverage, format-specific material and trust are separate; this object cannot assert a baseline grade or turn negative facts into Good. It keeps the issuer I of the timestamp census it was derived from.

Implementations§

Source§

impl<'path, 'document, N: Copy, D: Copy, G: Copy, I> ParticipantRequirements<'path, 'document, N, D, G, I>

Source

pub fn scope(&self) -> TimestampScope<N, D, G>

Whole selected signature or exact preceding-archive scope.

Source

pub fn signature(&self) -> N

Original selected root signature.

Source

pub fn entries(&self) -> &[ParticipantRequirement<'path, 'document, N>]

Every participant authority, preserving signer/counter/credential/token order.

Source

pub fn same_credentials<C>(&self, credentials: &C) -> bool

Whether this census was derived from exactly this credential receipt. Constant-time identity only: the caller admits its current query first; no authentication is replayed.

Source

pub fn same_timestamps( &self, timestamps: &TimestampPaths<'_, '_, '_, N, D, G, I>, ) -> bool

Whether this census was derived from this exact complete TSA-path receipt. The current caller must admit this metadata query first.

Source

pub fn require_inputs<S, C, R, Q>( &self, signer: &S, counters: &C, credentials: &R, timestamps: &TimestampPaths<'_, '_, '_, N, D, G, I>, query: &Q, ) -> Result<(), ParticipantError<N>>
where D: Eq, G: Eq, Q: Query<Id = N, Document = D, Generation = G>,

Require the exact live input receipts that produced this complete participant census. Equivalent IDs, a different valid path/provider context or independently collected credentials do not establish that relation. This is a current-operation metadata query, not a replay of parsing, crypto, credential authentication or catalogue allocation.

Source§

impl<'path, 'document, N: Copy + Eq, D: Copy + Eq, G: Copy + Eq, I> ParticipantRequirements<'path, 'document, N, D, G, I>

Source

pub fn close_statuses<'requirements, 'view, 'certificate, Q>( &'requirements self, roots: &'view [&'view PathStatuses<'view, 'certificate, 'document>], supplied: &'view [AuthorityNode<'view, 'certificate, 'document>], query: &Q, ) -> ClosureResult<'requirements, 'view, 'certificate, 'document, N, D, G, I>
where Q: Query<Id = N, Document = D, Generation = G>, 'path: 'view,

Associate EVERY source-derived Path actor with its complete status inputs, then follow the existing CRL/OCSP authority kernel. Evaluation labels are explicit original inputs, not guessed from a claimed signing time or token order; their usability and historical trust remain separate checks. Paths may legitimately repeat for several actors or distinct evaluation labels. Direct anchors retain their separate certificate-material obligation. No parse, provider, hash, status evaluation or signature is repeated.

Auto Trait Implementations§

§

impl<'path, 'document, N, D, G, I> !Freeze for ParticipantRequirements<'path, 'document, N, D, G, I>

§

impl<'path, 'document, N, D, G, I> !RefUnwindSafe for ParticipantRequirements<'path, 'document, N, D, G, I>

§

impl<'path, 'document, N, D, G, I> !Send for ParticipantRequirements<'path, 'document, N, D, G, I>

§

impl<'path, 'document, N, D, G, I> !Sync for ParticipantRequirements<'path, 'document, N, D, G, I>

§

impl<'path, 'document, N, D, G, I> !UnwindSafe for ParticipantRequirements<'path, 'document, N, D, G, I>

§

impl<'path, 'document, N, D, G, I> Unpin for ParticipantRequirements<'path, 'document, N, D, G, I>
where TimestampScope<N, D, G>: Unpin, N: Unpin, OwnedVec<ParticipantRequirement<'path, 'document, N>>: Unpin, PhantomData<I>: Unpin,

§

impl<'path, 'document, N, D, G, I> UnsafeUnpin for ParticipantRequirements<'path, 'document, N, D, G, I>

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.