Skip to main content

Graph

Struct Graph 

Source
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>

Source

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>

Source

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>

Source

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.

Source

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.

Source

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>

Source

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.

Source

pub fn facts(&self) -> &[Facts<'v, 's, N, D, G, S>]

All original source-derived readings, moved without copying catalogues.

Source

pub fn nodes(&self) -> &[Node<S::Document, S::Generation>]

Every original archive-manifest occurrence, including uninspected slots.

Source

pub fn order(&self) -> &[usize]

Oldest-to-latest linked node indices. Findings expose any partial graph.

Source

pub fn findings(&self) -> &[Finding<S::Document, S::Generation>]

Every original negative geometry/coverage outcome.

Source

pub fn latest(&self) -> Option<usize>

Exact fixed latest occurrence, never an earlier-success fallback.

Source

pub fn geometry_complete(&self) -> bool

Complete source/layout geometry only, NOT mathematics/material/trust.

Source

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.

Auto Trait Implementations§

§

impl<'v, 's, N, D, G, S> !Freeze for Graph<'v, 's, N, D, G, S>

§

impl<'v, 's, N, D, G, S> !RefUnwindSafe for Graph<'v, 's, N, D, G, S>

§

impl<'v, 's, N, D, G, S> !Send for Graph<'v, 's, N, D, G, S>

§

impl<'v, 's, N, D, G, S> !Sync for Graph<'v, 's, N, D, G, S>

§

impl<'v, 's, N, D, G, S> !UnwindSafe for Graph<'v, 's, N, D, G, S>

§

impl<'v, 's, N, D, G, S> Forget for Graph<'v, 's, N, D, G, S>

§

impl<'v, 's, N, D, G, S> Unpin for Graph<'v, 's, N, D, G, S>
where &'v Archive<'s, S>: Unpin, OwnedVec<Facts<'v, 's, N, D, G, S>>: Unpin, OwnedVec<Node<<S as RangeSource>::Document, <S as RangeSource>::Generation>>: Unpin, OwnedVec<Finding<<S as RangeSource>::Document, <S as RangeSource>::Generation>>: Unpin,

§

impl<'v, 's, N, D, G, S> UnsafeUnpin for Graph<'v, 's, N, D, G, S>

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.