pub enum CommitmentFallback {
Wait,
FetchByRound {
round: Round,
},
FetchByCommitment {
height: Height,
},
}Expand description
How a commitment-keyed block subscription should behave when the block is missing locally.
Variants§
Wait
Wait for local availability only.
Use this for pending candidate proposal data before notarization.
FetchByRound
Request the notarized proposal for round from peers.
Use this when the caller knows a trusted notarized or certified round and commitment but not the proposal height, such as proposal construction, verification of a known child, or certification of a notarized candidate. Do not infer height from the finalized tip or another block: proposals may build on a certified parent that is not finalized locally yet, and an unverified child may lie about its height.
The returned block is heightable once decoded, but that is too late for the in-flight resolver key or pruning bound.
FetchByCommitment
Request the exact commitment from peers and prune the request at
height.
Use this only when no certified parent round is available and the caller has a locally validated pruning bound, such as repairing a finalized gap or walking an accepted ancestry stream. Do not use it for a candidate’s immediate parent when the consensus context supplies the parent round.
The height is not sent to peers. It is a local pruning hint for request retention, not part of response validity: a fetched block is delivered if its commitment matches, and certified storage uses the decoded block height.
Trait Implementations§
Source§impl Clone for CommitmentFallback
impl Clone for CommitmentFallback
Source§fn clone(&self) -> CommitmentFallback
fn clone(&self) -> CommitmentFallback
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CommitmentFallback
impl Debug for CommitmentFallback
Source§impl From<DigestFallback> for CommitmentFallback
impl From<DigestFallback> for CommitmentFallback
Source§fn from(fallback: DigestFallback) -> Self
fn from(fallback: DigestFallback) -> Self
Source§impl PartialEq for CommitmentFallback
impl PartialEq for CommitmentFallback
Source§fn eq(&self, other: &CommitmentFallback) -> bool
fn eq(&self, other: &CommitmentFallback) -> bool
self and other values to be equal, and is used by ==.impl Copy for CommitmentFallback
impl Eq for CommitmentFallback
impl StructuralPartialEq for CommitmentFallback
Auto Trait Implementations§
impl Freeze for CommitmentFallback
impl RefUnwindSafe for CommitmentFallback
impl Send for CommitmentFallback
impl Sync for CommitmentFallback
impl Unpin for CommitmentFallback
impl UnsafeUnpin for CommitmentFallback
impl UnwindSafe for CommitmentFallback
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more