pub struct RecoveryGate { /* private fields */ }Expand description
One fetch’s funding recovery state: the progress rule, the step that replaced the pool, and the settle window after a top-up.
One gate spans one fetch. A bundle pull is one fetch for every entry, so its entries share one gate; a command that runs its remaining work again against a replaced pool keeps the gate for that pass too. Steps run one at a time. A caller whose exhausted set a sibling’s step already answered takes no step of its own: the sibling topped up or settled since the caller’s last step, raised the deposit above the one the caller saw, or swapped in a credential past the one the caller ran under.
Implementations§
Source§impl RecoveryGate
impl RecoveryGate
Sourcepub fn new() -> Self
pub fn new() -> Self
A gate for one fetch, with the RECOVERY_SETTLE settle window.
Sourcepub fn with_settle(settle: Duration) -> Self
pub fn with_settle(settle: Duration) -> Self
A gate whose settle window after a top-up is settle.
Sourcepub fn start_next_pass(&self)
pub fn start_next_pass(&self)
Start the pass that runs the remaining work against the pool a step
replaced (crate::PoolReplaced). Later steps top up, or replace, the
new pool; the progress rule carries over, so a further step still needs
a byte verified since the step that replaced the pool.
Trait Implementations§
Source§impl Debug for RecoveryGate
impl Debug for RecoveryGate
Auto Trait Implementations§
impl !Freeze for RecoveryGate
impl !RefUnwindSafe for RecoveryGate
impl !UnwindSafe for RecoveryGate
impl Send for RecoveryGate
impl Sync for RecoveryGate
impl Unpin for RecoveryGate
impl UnsafeUnpin for RecoveryGate
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> 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