#[non_exhaustive]pub enum BundleEnd {
Complete,
Interrupted,
FundingNeeded {
needed: FundingNeeded,
error: Error,
},
Stopped(Error),
}Expand description
Why a bundle pull ended.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Complete
Every entry settled. Some may have failed
(BundleReport::failures); a rerun retries them.
Interrupted
The cancel token fired. What landed is recorded, and a rerun resumes.
The caller names what the puller’s handle
(BundlePuller::unconfirmed_escrows) still holds: each pending
openPool and topUp (UnconfirmedEscrows::pending) and each
untracked escrow (UnconfirmedEscrows::untracked). A rerun before
those resolve escrows again.
FundingNeeded
The pool cannot pay for the rest: the capability is spent, expired or
revoked, or the delegated pool is unfunded. error is the whole
chain.
Fields
needed: FundingNeededWhat funding the pull needs.
Stopped(Error)
A fault only the user can fix ended the pull, or it gave up after
making no progress for its whole limit (crate::GaveUp). A pull that
is not interrupted ends here while its handle holds an untracked escrow
(UnconfirmedEscrows::untracked) or a pending openPool or topUp
(UnconfirmedEscrows::pending), with an error that names each tx:
an entry dropped while its receipt read was pending leaves one there.
This includes every later pull on the same handle.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BundleEnd
impl RefUnwindSafe for BundleEnd
impl Send for BundleEnd
impl Sync for BundleEnd
impl Unpin for BundleEnd
impl UnsafeUnpin for BundleEnd
impl UnwindSafe for BundleEnd
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