Skip to main content

LeaseTable

Struct LeaseTable 

Source
pub struct LeaseTable { /* private fields */ }
Expand description

Pure lease table keyed by lease_id.

Prepare methods are read-only decisions; commit methods apply state the caller has already persisted.

Implementations§

Source§

impl LeaseTable

Source

pub fn new() -> Self

Source

pub fn seed(&mut self, records: Vec<LeaseRecord>, now_ms: u64)

Fence-time seeding from the durable record set; entries already expired at now_ms are dropped because they can never count again.

Source

pub fn clear(&mut self)

Source

pub fn prepare_acquire( &self, holder: &[u8], holder_epoch: u64, now_ms: u64, ) -> Result<AcquireDecision, LeaseError>

Source

pub fn commit_acquire( &mut self, record: LeaseRecord, supersedes: Option<u64>, now_ms: u64, )

Source

pub fn prepare_renew( &self, lease_id: u64, now_ms: u64, ) -> Result<LeaseRecord, LeaseError>

Source

pub fn commit_renew(&mut self, record: LeaseRecord, now_ms: u64)

Source

pub fn prepare_release(&self, lease_id: u64) -> Option<LeaseRecord>

Live record to surrender, or None when the release is a no-op.

Source

pub fn commit_release(&mut self, lease_id: u64, now_ms: u64)

Source

pub fn min_unexpired_bound(&self, now_ms: u64) -> Option<u64>

Frontier lease term: min over unexpired leases, active or superseded.

Source

pub fn live_set(&self, now_ms: u64) -> Vec<LeaseRecord>

The unexpired record set, for durable persistence as absolute state.

Source

pub fn projected_live_set( &self, upsert: Option<&LeaseRecord>, supersede: Option<u64>, remove: Option<u64>, now_ms: u64, ) -> Vec<LeaseRecord>

The live set as it will be after applying an upsert, supersede, or removal. The server persists this projection, then commits the same mutation.

Trait Implementations§

Source§

impl Debug for LeaseTable

Source§

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

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

impl Default for LeaseTable

Source§

fn default() -> LeaseTable

Returns the “default value” for a type. Read more

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> 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, 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.