#[non_exhaustive]pub struct LeaseSummary {
pub lease_epoch: LeaseEpoch,
pub worker_instance_id: WorkerInstanceId,
pub expires_at: TimestampMs,
pub lease_id: LeaseId,
pub attempt_index: AttemptIndex,
pub last_heartbeat_at: Option<TimestampMs>,
}Expand description
Currently-held lease summary inside an ExecutionSnapshot.
#[non_exhaustive]. New fields may be added in minor releases — use
LeaseSummary::new plus the fluent with_* setters to construct
one, and match with .. in destructuring.
§Field provenance (FF#278)
lease_id— minted at claim time (ff_claim_execution/ff_claim_resumed_execution), cleared atomically with the other lease fields on revoke/expire/complete. Stable for the lifetime of a single lease; a fresh one is minted per re-claim. Defaults to the nil UUID when a backend does not surface per-lease ids (treat as “field not populated”).attempt_index— the 1-based attempt counter (current_attempt_indexonexec_core). Set atomically withcurrent_attempt_idat claim time; always populated while a Valkey-backed lease is held.last_heartbeat_at— the most recentff_renew_leasetimestamp (lease_last_renewed_atonexec_core).Nonewhen the field is empty (e.g. legacy data pre-0.9, or a backend that does not surface per-renewal heartbeats).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.lease_epoch: LeaseEpoch§worker_instance_id: WorkerInstanceId§expires_at: TimestampMs§lease_id: LeaseIdPer-lease unique identity. Correlates audit-log entries, reclaim events, and recovery traces.
attempt_index: AttemptIndex1-based attempt counter; .0 mirrors current_attempt_index
on exec_core.
last_heartbeat_at: Option<TimestampMs>Most recent heartbeat (lease-renewal) timestamp. None when the
backend does not surface per-renewal ticks on this lease.
Implementations§
Source§impl LeaseSummary
impl LeaseSummary
Sourcepub fn new(
lease_epoch: LeaseEpoch,
worker_instance_id: WorkerInstanceId,
expires_at: TimestampMs,
) -> Self
pub fn new( lease_epoch: LeaseEpoch, worker_instance_id: WorkerInstanceId, expires_at: TimestampMs, ) -> Self
Construct a LeaseSummary with the three always-present
fields. Use the with_* setters to populate the FF#278
additions (lease_id, attempt_index, last_heartbeat_at);
otherwise they default to the nil / zero / empty forms, which
callers should treat as “field not surfaced by this backend”.
See ExecutionSnapshot::new for the broader #[non_exhaustive]
construction rationale.
Sourcepub fn with_lease_id(self, lease_id: LeaseId) -> Self
pub fn with_lease_id(self, lease_id: LeaseId) -> Self
Set the lease’s unique identity (FF#278).
Sourcepub fn with_attempt_index(self, attempt_index: AttemptIndex) -> Self
pub fn with_attempt_index(self, attempt_index: AttemptIndex) -> Self
Set the 1-based attempt counter (FF#278).
Sourcepub fn with_last_heartbeat_at(self, ts: TimestampMs) -> Self
pub fn with_last_heartbeat_at(self, ts: TimestampMs) -> Self
Set the most recent heartbeat timestamp (FF#278).
Trait Implementations§
Source§impl Clone for LeaseSummary
impl Clone for LeaseSummary
Source§fn clone(&self) -> LeaseSummary
fn clone(&self) -> LeaseSummary
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more