pub struct PoolUpdateFailure {
pub error: RunError,
pub rpc_url: String,
pub chain_id: i64,
pub from_block: u64,
pub to_block: Option<u64>,
pub resume: Option<Vec<ExchangeResumeState>>,
}Expand description
A pool update (or pool verify) core failure plus the run context the
arm held when the core returned it.
The bare library text (api error: backend connection task has stopped)
alone is not an operator diagnostic, and the arm must not have to
reconstruct the run’s identity at the print site — so the payload carries
it structurally: the endpoint, the chain, the requested block range, and,
for a mid-run failure, the per-exchange resume state read out of the
operator database. The updater commits per chunk, so a failed run keeps
every committed chunk and leaves the remaining exchanges’ outstanding
work recorded in their cursors; the failure report makes it visible.
Fields§
§error: RunErrorThe underlying core error.
rpc_url: StringThe RPC endpoint the run was bound to.
chain_id: i64The chain the run advances.
from_block: u64The first block the run intended to process (the earliest committed
cursor + 1; mirrors the core’s own initial_start_block).
to_block: Option<u64>The requested upper bound; None when the run targeted the chain tip.
resume: Option<Vec<ExchangeResumeState>>The post-failure per-exchange resume snapshot; None when the
read-only cursor read itself failed (or a non-run failure carried no
snapshot).
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PoolUpdateFailure
impl !UnwindSafe for PoolUpdateFailure
impl Freeze for PoolUpdateFailure
impl Send for PoolUpdateFailure
impl Sync for PoolUpdateFailure
impl Unpin for PoolUpdateFailure
impl UnsafeUnpin for PoolUpdateFailure
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> 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