#[non_exhaustive]pub enum ReactiveEngineError {
Show 20 variants
Subscriber(SubscriberError),
Runtime(ReactiveError),
Baseline(ReactiveBaselineError),
Acknowledgement(SubscriberError),
Checkpoint(DurableCheckpointError),
MissingCheckpointBlock,
PreconfirmationNotCheckpointable,
RuntimeCheckpoint(String),
PendingCheckpointCommit,
PendingAcknowledgementCommit,
UncommittedDeliveryMetadata,
SubscriberChainMismatch {
subscriber_chain_id: u64,
cache_chain_id: u64,
},
SubscriberNotDurable,
MissingReplayWitness,
ReplayDeliveryMismatch,
DeliveryWitness(String),
MissingPayloadCommitment,
PendingCheckpointCacheChanged {
staged_generation: u64,
current_generation: u64,
},
CheckpointReorgOutsideJournal {
common_ancestor: u64,
oldest_journaled: Option<u64>,
journal_depth: usize,
},
OwnerCatchupOutsideJournal {
number: u64,
hash: B256,
},
}Expand description
Error returned by ReactiveEngine helpers that combine subscriber polling
and runtime ingestion.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Subscriber(SubscriberError)
Subscriber polling failed.
Runtime(ReactiveError)
Runtime ingestion failed.
Baseline(ReactiveBaselineError)
Canonical cold-start baseline adoption failed.
Acknowledgement(SubscriberError)
Runtime ingestion succeeded, but its durable delivery acknowledgement did not commit. The subscriber may replay the batch.
Checkpoint(DurableCheckpointError)
Runtime ingestion succeeded, but the resulting cache state could not be durably checkpointed. The engine retains the commit in memory and must retry it before polling another batch.
MissingCheckpointBlock
A checkpointed ingest had no canonical block to bind the state to.
PreconfirmationNotCheckpointable
Speculative pre-confirmation state is intentionally excluded from canonical durable checkpoints.
RuntimeCheckpoint(String)
Runtime rollback/finality state could not be encoded for the checkpoint.
PendingCheckpointCommit
A crash-safe checkpoint commit is pending, so the engine cannot switch to ordinary acknowledgement ordering without first completing it.
PendingAcknowledgementCommit
An ordinary delivery acknowledgement is pending, so the engine cannot switch to checkpointed ingestion and retroactively make it durable.
UncommittedDeliveryMetadata
A caller attempted to use a raw ingestion helper with subscriber-owned commit metadata. Only the combined polling helpers can preserve the required ingest-before-checkpoint-before-acknowledgement ordering.
SubscriberChainMismatch
Subscriber and cache are bound to different chains.
Fields
SubscriberNotDurable
Crash-safe checkpoint APIs require durable replay/resume semantics.
MissingReplayWitness
A restored delivery token predates or otherwise lacks the core witness needed to prove that a replay carries the same delivery.
ReplayDeliveryMismatch
A source reused a committed token for different records, routing, controls, chain identity, or provider resume state.
DeliveryWitness(String)
The stable delivery witness could not be encoded.
MissingPayloadCommitment
A tokened network-generic header/body cannot be witnessed completely without a source-supplied canonical wire commitment.
PendingCheckpointCacheChanged
Cache state changed after a batch was staged for a checkpoint. Retrying would bind those unrelated mutations to the older delivery metadata.
Fields
CheckpointReorgOutsideJournal
Checkpointed ingestion cannot durably acknowledge a reorg when the runtime no longer retains every potentially affected journal entry.
Fields
OwnerCatchupOutsideJournal
Owner-scoped catch-up would mutate a historical block for which the runtime has no rollback journal entry.
Trait Implementations§
Source§impl Debug for ReactiveEngineError
impl Debug for ReactiveEngineError
Source§impl Display for ReactiveEngineError
impl Display for ReactiveEngineError
Source§impl Error for ReactiveEngineError
impl Error for ReactiveEngineError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<ReactiveBaselineError> for ReactiveEngineError
impl From<ReactiveBaselineError> for ReactiveEngineError
Source§fn from(source: ReactiveBaselineError) -> Self
fn from(source: ReactiveBaselineError) -> Self
Source§impl From<ReactiveError> for ReactiveEngineError
impl From<ReactiveError> for ReactiveEngineError
Source§fn from(error: ReactiveError) -> Self
fn from(error: ReactiveError) -> Self
Source§impl From<SubscriberError> for ReactiveEngineError
impl From<SubscriberError> for ReactiveEngineError
Source§fn from(source: SubscriberError) -> Self
fn from(source: SubscriberError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for ReactiveEngineError
impl !UnwindSafe for ReactiveEngineError
impl Freeze for ReactiveEngineError
impl Send for ReactiveEngineError
impl Sync for ReactiveEngineError
impl Unpin for ReactiveEngineError
impl UnsafeUnpin for ReactiveEngineError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.