Skip to main content

InputPlan

Struct InputPlan 

Source
pub struct InputPlan<'record, 'document> { /* private fields */ }
Expand description

Original-bound schema preflight and exact chain-algorithm request mapping. A format-derived input can prepare its per-algorithm recipe once and reuse this SAME plan for execution, without reparsing timestamp information.

Implementations§

Source§

impl<'r, 'd> InputPlan<'r, 'd>

Source

pub fn algorithms(&self) -> &[Algorithm]

Original chain order, including repeated algorithms. The digest batch retains this ordinal mapping when equal full identities are deduplicated.

Source

pub fn record(&self) -> &'r EvidenceRecord<'d>

SAME original record for this immutable plan.

Source

pub async fn verify_async_with_profile<'a, P, PE, A, S, RE, HE, FE>( &self, provider: &'a P, operation: &Reader<'a>, authorities: &'a A, utc: &LeapTable<'a>, reference: Instant, objects: S, membership: Membership, recognizes: impl FnMut(usize, &TokenExtension<'_>, &Execution<'_>) -> Result<bool, RE>, historical: impl FnMut(Historical<'_, 'a>, &Execution<'_>) -> Result<Decision, HE>, profile: impl for<'view, 'scope> FnMut(usize, ProfileInput<'view, 'd, 'a, 'scope>) -> Result<(), ProfileFailure<FE>>, ) -> VerificationResult<'a, 'd, S::Error, PE, RE, A::Error, HE, FE>
where P: for<'scope> SignatureProvider<'scope, Error = PE>, A: Authorities<'d>, S: AsyncObjects<'a, P>, 'r: 'a, 'd: 'a,

Executes asynchronous original objects with the same admitted plan, profile-before-input ordering, renewal recipes and historical closure. All chain algorithms share one complete pass over each object. Batch owners may inspect those actual outputs without acquiring bytes again.

Source

pub fn verify_with_profile<'a, P, PE, A, S, RE, HE, FE>( &self, provider: &'a P, operation: &Reader<'a>, authorities: &'a A, utc: &LeapTable<'a>, reference: Instant, objects: &mut [S], membership: Membership, recognizes: impl FnMut(usize, &TokenExtension<'_>, &Execution<'_>) -> Result<bool, RE>, historical: impl FnMut(Historical<'_, 'a>, &Execution<'_>) -> Result<Decision, HE>, profile: impl for<'view, 'scope> FnMut(usize, ProfileInput<'view, 'd, 'a, 'scope>) -> Result<(), ProfileFailure<FE>>, ) -> VerificationResult<'a, 'd, S::Error, PE, RE, A::Error, HE, FE>
where P: for<'scope> SignatureProvider<'scope, Error = PE>, A: Authorities<'d>, S: Source, 'r: 'a, 'd: 'a,

Executes literal original objects with this SAME checked input plan. Selection callbacks need not cause a second schema/information parse.

Source

pub fn verify_requests_with_profile<'a, P, PE, A, S, RE, HE, FE>( &self, provider: &'a P, operation: &Reader<'a>, authorities: &'a A, utc: &LeapTable<'a>, reference: Instant, objects: &mut [S], membership: Membership, recognizes: impl FnMut(usize, &TokenExtension<'_>, &Execution<'_>) -> Result<bool, RE>, historical: impl FnMut(Historical<'_, 'a>, &Execution<'_>) -> Result<Decision, HE>, profile: impl for<'view, 'scope> FnMut(usize, ProfileInput<'view, 'd, 'a, 'scope>) -> Result<(), ProfileFailure<FE>>, ) -> VerificationResult<'a, 'd, S::Error, PE, RE, A::Error, HE, FE>
where P: for<'scope> SignatureProvider<'scope, Error = PE>, A: Authorities<'d>, S: RequestSource<'a, P>, 'r: 'a, 'd: 'a,

Executes per-algorithm format inputs with this already checked plan. Every common/token/profile/history check still runs on the actual source.

Auto Trait Implementations§

§

impl<'record, 'document> !Freeze for InputPlan<'record, 'document>

§

impl<'record, 'document> !RefUnwindSafe for InputPlan<'record, 'document>

§

impl<'record, 'document> !Send for InputPlan<'record, 'document>

§

impl<'record, 'document> !Sync for InputPlan<'record, 'document>

§

impl<'record, 'document> !UnwindSafe for InputPlan<'record, 'document>

§

impl<'record, 'document> Unpin for InputPlan<'record, 'document>

§

impl<'record, 'document> UnsafeUnpin for InputPlan<'record, '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.