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>
impl<'r, 'd> InputPlan<'r, 'd>
Sourcepub fn algorithms(&self) -> &[Algorithm]
pub fn algorithms(&self) -> &[Algorithm]
Original chain order, including repeated algorithms. The digest batch retains this ordinal mapping when equal full identities are deduplicated.
Sourcepub fn record(&self) -> &'r EvidenceRecord<'d>
pub fn record(&self) -> &'r EvidenceRecord<'d>
SAME original record for this immutable plan.
Sourcepub 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,
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.
Sourcepub 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,
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.
Sourcepub 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,
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.