Skip to main content

Sources

Struct Sources 

Source
pub struct Sources<'p, 'a, 'v, 's, S: RangeSource> { /* private fields */ }
Expand description

Full original carrier source census and one reusable exact-artifact index. Participant completeness, source-negative semantics and usable status remain independent. Missing carrier pools cannot become successful source coverage.

Implementations§

Source§

impl<'p, 'a, 'v, 's, S: RangeSource> Sources<'p, 'a, 'v, 's, S>

Source

pub fn read<W: Work>( census: &Census<'v, 's, S>, pools: &[&'p Pool<'a, 'v, 's, S>], work: &W, ) -> Result<Self, SourcesError<S::Error>>

Derives slot order from the actual original census, not the caller’s successful pool list. Every CAdES/TST file remains a source obligation.

§Panics

An internal census invariant fails if its own bounded ordinal is absent.

Source

pub fn slots(&self) -> &[SourceSlot<'p, 'a, 'v, 's, S>]

All original carrier slots, retaining missing and negative sources.

Source

pub fn all_sources_inspected(&self) -> bool

Every original carrier has a completed first-read pool. This does not assert conformance or complete participant/path/status interpretation.

Source

pub fn open(&self) -> &[Open<'p, S::Document, S::Generation>]

Original malformed/open carrier findings, without replacing their causes.

Source

pub fn index<'g, 'q, W: Work>( &'g self, work: &'q W, ) -> SourcesIndexResult<'g, 'q, 'p, 'v, 's, S>
where 'v: 'q, 'a: 'g, 'p: 'g,

One exact-artifact index over all available original pools. The full source census remains alongside it, so a missing source is never erased.

Auto Trait Implementations§

§

impl<'p, 'a, 'v, 's, S> !Freeze for Sources<'p, 'a, 'v, 's, S>

§

impl<'p, 'a, 'v, 's, S> !RefUnwindSafe for Sources<'p, 'a, 'v, 's, S>

§

impl<'p, 'a, 'v, 's, S> !Send for Sources<'p, 'a, 'v, 's, S>

§

impl<'p, 'a, 'v, 's, S> !Sync for Sources<'p, 'a, 'v, 's, S>

§

impl<'p, 'a, 'v, 's, S> !UnwindSafe for Sources<'p, 'a, 'v, 's, S>

§

impl<'p, 'a, 'v, 's, S> Unpin for Sources<'p, 'a, 'v, 's, S>
where &'v Archive<'s, S>: Unpin, OwnedVec<SourceSlot<'p, 'a, 'v, 's, S>>: Unpin, OwnedVec<Open<'p, <S as RangeSource>::Document, <S as RangeSource>::Generation>>: Unpin,

§

impl<'p, 'a, 'v, 's, S> UnsafeUnpin for Sources<'p, 'a, 'v, 's, S>
where &'v Archive<'s, S>: UnsafeUnpin, OwnedVec<SourceSlot<'p, 'a, 'v, 's, S>>: UnsafeUnpin, OwnedVec<Open<'p, <S as RangeSource>::Document, <S as RangeSource>::Generation>>: UnsafeUnpin,

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.