pub struct Graph<'v, 's, N, D, G, S: RangeSource> { /* private fields */ }Expand description
Full original A.7 graph. Positive geometry is independent of timestamp mathematics, validation material, historical trust and algorithm longevity. There is no fallback from an unreadable/bad latest to an earlier success.
Implementations§
Source§impl<'v, 's, N: Copy, D: Copy + Eq, G: Copy + Eq, S: RangeSource> Graph<'v, 's, N, D, G, S>
impl<'v, 's, N: Copy, D: Copy + Eq, G: Copy + Eq, S: RangeSource> Graph<'v, 's, N, D, G, S>
Sourcepub fn bind_timestamps<'g, 'r, 'd, W: Work>(
&'g self,
supplied: &[&'r Checked<'d, S::Document, S::Generation>],
work: &W,
) -> Result<Mathematics<'g, 'r, 'd, 'v, 's, N, D, G, S>, Error<<S as RangeSource>::Error, <S as RangeSource>::Document, <S as RangeSource>::Generation>>
pub fn bind_timestamps<'g, 'r, 'd, W: Work>( &'g self, supplied: &[&'r Checked<'d, S::Document, S::Generation>], work: &W, ) -> Result<Mathematics<'g, 'r, 'd, 'v, 's, N, D, G, S>, Error<<S as RangeSource>::Error, <S as RangeSource>::Document, <S as RangeSource>::Generation>>
Joins only actual closed common TST receipts, requiring BOTH token and consumed-input identities. A separately checked arbitrary manifest or a later successful subset cannot fill another original occurrence.
Source§impl<'v, 's, N: Copy, D: Copy + Eq, G: Copy + Eq, S: RangeSource> Graph<'v, 's, N, D, G, S>
impl<'v, 's, N: Copy, D: Copy + Eq, G: Copy + Eq, S: RangeSource> Graph<'v, 's, N, D, G, S>
Sourcepub fn timestamp_inputs<W: Work>(
&self,
index: usize,
layout: &Inspection<'_, 'v, 's, S>,
work: &W,
) -> Result<TimestampInputs<S::Document, S::Generation>, Error<<S as RangeSource>::Error>>
pub fn timestamp_inputs<W: Work>( &self, index: usize, layout: &Inspection<'_, 'v, 's, S>, work: &W, ) -> Result<TimestampInputs<S::Document, S::Generation>, Error<<S as RangeSource>::Error>>
Includes ordinary manifest assertions as well as archive-manifest renewals. The simple timestamp’s implied input is admitted only under the explicitly selected S-timestamp form and its one actual data file.
Source§impl<'v, 's, N: Copy, D: Copy + Eq, G: Copy + Eq, S: RangeSource> Graph<'v, 's, N, D, G, S>
impl<'v, 's, N: Copy, D: Copy + Eq, G: Copy + Eq, S: RangeSource> Graph<'v, 's, N, D, G, S>
Sourcepub async fn check_actor<'c, 'd, P, PE, RE>(
&self,
index: usize,
carried: &'d Content<'v, 's, S>,
token: &'d Token<'d>,
parent: &Reader<'d>,
provider: &'d P,
context: &CheckContext<'d, 'c>,
recognizes: impl FnMut(&TokenExtension<'_>, &Execution<'_>) -> Result<bool, RE>,
) -> ActorResult<'c, 'd, 'v, 's, S, PE, RE>where
P: for<'scope> SignatureProvider<'scope, Error = PE>,
pub async fn check_actor<'c, 'd, P, PE, RE>(
&self,
index: usize,
carried: &'d Content<'v, 's, S>,
token: &'d Token<'d>,
parent: &Reader<'d>,
provider: &'d P,
context: &CheckContext<'d, 'c>,
recognizes: impl FnMut(&TokenExtension<'_>, &Execution<'_>) -> Result<bool, RE>,
) -> ActorResult<'c, 'd, 'v, 's, S, PE, RE>where
P: for<'scope> SignatureProvider<'scope, Error = PE>,
Checks the actual original token of this graph node against its complete original manifest bytes, then records the exact selected TSA actor for the existing LTV path/status/material machinery. No generic attach exists.
Sourcepub fn requirements<W: Work>(
&self,
index: usize,
layout: &Inspection<'_, 'v, 's, S>,
work: &W,
) -> RequirementsResult<'v, 's, S>
pub fn requirements<W: Work>( &self, index: usize, layout: &Inspection<'_, 'v, 's, S>, work: &W, ) -> RequirementsResult<'v, 's, S>
Complete preceding TSA obligations for exactly this original archive input. A broken/uninspected graph yields no complete census. The first timestamp has no preceding TSA, while its own new-TSA material remains a separate incorporation/placement obligation.
Sourcepub fn coverage<'q, 'c, 'd, W: Work>(
&self,
index: usize,
checked: &ActorCheck<'c, 'd, 'v, 's, S>,
work: &'q W,
) -> CoverageResult<'q, 'v, 's, S>where
'v: 'q,
pub fn coverage<'q, 'c, 'd, W: Work>(
&self,
index: usize,
checked: &ActorCheck<'c, 'd, 'v, 's, S>,
work: &'q W,
) -> CoverageResult<'q, 'v, 's, S>where
'v: 'q,
Mints protected whole-member coverage only after this ACTUAL TST covers its original manifest and EVERY declared object digest matched. Neither geometry alone nor an arbitrary later successful token supplies it.
Source§impl<'v, 's, N: Copy, D: Copy + Eq, G: Copy + Eq, S: RangeSource> Graph<'v, 's, N, D, G, S>
impl<'v, 's, N: Copy, D: Copy + Eq, G: Copy + Eq, S: RangeSource> Graph<'v, 's, N, D, G, S>
Sourcepub fn inspect<W: Work>(
census: &Census<'v, 's, S>,
facts: OwnedVec<Facts<'v, 's, N, D, G, S>>,
work: &W,
) -> Result<Self, Error<<S as RangeSource>::Error, <S as RangeSource>::Document, <S as RangeSource>::Generation>>
pub fn inspect<W: Work>( census: &Census<'v, 's, S>, facts: OwnedVec<Facts<'v, 's, N, D, G, S>>, work: &W, ) -> Result<Self, Error<<S as RangeSource>::Error, <S as RangeSource>::Document, <S as RangeSource>::Generation>>
Derives the complete sequence from original Rootfile links. A.7(1–2) requires each renewal to retain prior objects AND prior manifests/TSTs; renamed manifests may have arbitrary prefixes. Input order is irrelevant. https://www.etsi.org/deliver/etsi_en/319100_319199/31916201/01.01.01_60/en_31916201v010101p.pdf
§Panics
An internal immutable catalogue invariant fails if a bounded census or retained original-member ordinal cannot be selected from its catalogue.
Sourcepub fn facts(&self) -> &[Facts<'v, 's, N, D, G, S>]
pub fn facts(&self) -> &[Facts<'v, 's, N, D, G, S>]
All original source-derived readings, moved without copying catalogues.
Sourcepub fn nodes(&self) -> &[Node<S::Document, S::Generation>]
pub fn nodes(&self) -> &[Node<S::Document, S::Generation>]
Every original archive-manifest occurrence, including uninspected slots.
Sourcepub fn order(&self) -> &[usize]
pub fn order(&self) -> &[usize]
Oldest-to-latest linked node indices. Findings expose any partial graph.
Sourcepub fn findings(&self) -> &[Finding<S::Document, S::Generation>]
pub fn findings(&self) -> &[Finding<S::Document, S::Generation>]
Every original negative geometry/coverage outcome.
Sourcepub fn latest(&self) -> Option<usize>
pub fn latest(&self) -> Option<usize>
Exact fixed latest occurrence, never an earlier-success fallback.
Sourcepub fn geometry_complete(&self) -> bool
pub fn geometry_complete(&self) -> bool
Complete source/layout geometry only, NOT mathematics/material/trust.
Sourcepub fn declares_all<W: Work>(
&self,
requested: &[MemberId<S::Document, S::Generation>],
work: &W,
) -> Result<bool, ArchiveError<S::Error>>
pub fn declares_all<W: Work>( &self, requested: &[MemberId<S::Document, S::Generation>], work: &W, ) -> Result<bool, ArchiveError<S::Error>>
Whether the latest original manifest declares every requested exact member. Requested long-term objects are caller input, not inferred from files introduced after an earlier timestamp. This does not check hashes.