Skip to main content

LeaseHistoryEvent

Enum LeaseHistoryEvent 

Source
#[non_exhaustive]
pub enum LeaseHistoryEvent { Acquired { cursor: StreamCursor, execution_id: ExecutionId, lease_id: Option<LeaseId>, worker_instance_id: Option<WorkerInstanceId>, at: TimestampMs, }, Renewed { cursor: StreamCursor, execution_id: ExecutionId, lease_id: Option<LeaseId>, worker_instance_id: Option<WorkerInstanceId>, at: TimestampMs, }, Expired { cursor: StreamCursor, execution_id: ExecutionId, lease_id: Option<LeaseId>, prev_owner: Option<WorkerInstanceId>, at: TimestampMs, }, Reclaimed { cursor: StreamCursor, execution_id: ExecutionId, new_lease_id: Option<LeaseId>, new_owner: Option<WorkerInstanceId>, at: TimestampMs, }, Revoked { cursor: StreamCursor, execution_id: ExecutionId, lease_id: Option<LeaseId>, revoked_by: String, at: TimestampMs, }, }
Expand description

Per-event payload of subscribe_lease_history.

Each variant carries the fence triple fields the Lua producer writes (lease_id, plus attempt/worker correlation where available) and the monotonic at timestamp derived from the backend’s native stream id / event id.

revoked_by is String today for forward compatibility; we may promote to a typed enum post-v0.10 once the revocation-source taxonomy settles. Known producers emit "operator", "reconciler", or "backend" today.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Acquired

Fields

§execution_id: ExecutionId
§lease_id: Option<LeaseId>

Valkey populates this from the Lua producer; Postgres outbox may carry None today because the attempt row identity is (lease_epoch, attempt_index, execution_id) rather than a stable uuid (see lease_event::emit).

§worker_instance_id: Option<WorkerInstanceId>
§

Renewed

Fields

§execution_id: ExecutionId
§lease_id: Option<LeaseId>

Same availability caveat as Acquired::lease_id.

§worker_instance_id: Option<WorkerInstanceId>
§

Expired

Fields

§execution_id: ExecutionId
§lease_id: Option<LeaseId>
§

Reclaimed

Fields

§execution_id: ExecutionId
§new_lease_id: Option<LeaseId>

Same availability caveat as Acquired::lease_id.

§

Revoked

Fields

§execution_id: ExecutionId
§lease_id: Option<LeaseId>
§revoked_by: String

String today for forward compat; may promote to typed enum post-v0.10 once taxonomy settles. Known values: "operator", "reconciler", "backend".

Implementations§

Source§

impl LeaseHistoryEvent

Source

pub fn cursor(&self) -> &StreamCursor

Position cursor to persist + replay from.

Source

pub fn execution_id(&self) -> &ExecutionId

Execution the event pertains to.

Source

pub fn at(&self) -> TimestampMs

Monotonic backend-stamped time of the event.

Trait Implementations§

Source§

impl Clone for LeaseHistoryEvent

Source§

fn clone(&self) -> LeaseHistoryEvent

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LeaseHistoryEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for LeaseHistoryEvent

Source§

fn eq(&self, other: &LeaseHistoryEvent) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for LeaseHistoryEvent

Source§

impl StructuralPartialEq for LeaseHistoryEvent

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.