pub struct LeaseHandoff { /* private fields */ }Expand description
One delivery’s lease: armed on the fences before the push, recorded at the transport’s accept point, settled on the gate either way.
Dropping an unaccepted handoff (the push failed, the candidate was skipped) settles the gate without recording, so a completion that can never come is never waited for and a later candidate arms its own.
Implementations§
Source§impl LeaseHandoff
impl LeaseHandoff
Source§impl LeaseHandoff
impl LeaseHandoff
Sourcepub fn arm(
seam: LeaseRecorderSeam,
key: LeaseKey,
worker: WorkerAttribution,
fences: CompletionFences,
token: CompletionToken,
lease: LeaseSignal,
) -> Result<Self, ServerError>
pub fn arm( seam: LeaseRecorderSeam, key: LeaseKey, worker: WorkerAttribution, fences: CompletionFences, token: CompletionToken, lease: LeaseSignal, ) -> Result<Self, ServerError>
Arm the fences’ lease gate for token and hold the lease to record.
lease is fired at the same instant the lease is RECORDED, so the
engine’s authored per-attempt bound and the durable ActivityLeased
event share one anchor by construction. A caller with no per-attempt
timer above it — the outbox push leg, whose dispatches are not driven by
the engine’s retry loop — passes
LeaseSignal::none, which is a statement
that nothing is timing this attempt rather than a value standing in for
one.
§Errors
Returns lock poison from the fences.
Sourcepub fn accepted_blocking(&self, handle: Option<&Handle>)
pub fn accepted_blocking(&self, handle: Option<&Handle>)
Record the lease from a thread that cannot await, then settle the gate.
Trait Implementations§
Source§impl Debug for LeaseHandoff
impl Debug for LeaseHandoff
Source§impl DeliveryAccepted for LeaseHandoff
impl DeliveryAccepted for LeaseHandoff
Source§impl Drop for LeaseHandoff
impl Drop for LeaseHandoff
Auto Trait Implementations§
impl !Freeze for LeaseHandoff
impl !RefUnwindSafe for LeaseHandoff
impl !UnwindSafe for LeaseHandoff
impl Send for LeaseHandoff
impl Sync for LeaseHandoff
impl Unpin for LeaseHandoff
impl UnsafeUnpin for LeaseHandoff
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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request