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
impl LeaseTable
pub fn new() -> Self
Sourcepub fn seed(&mut self, records: Vec<LeaseRecord>, now_ms: u64)
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.
pub fn clear(&mut self)
pub fn prepare_acquire( &self, holder: &[u8], holder_epoch: u64, now_ms: u64, ) -> Result<AcquireDecision, LeaseError>
pub fn commit_acquire( &mut self, record: LeaseRecord, supersedes: Option<u64>, now_ms: u64, )
pub fn prepare_renew( &self, lease_id: u64, now_ms: u64, ) -> Result<LeaseRecord, LeaseError>
pub fn commit_renew(&mut self, record: LeaseRecord, now_ms: u64)
Sourcepub fn prepare_release(&self, lease_id: u64) -> Option<LeaseRecord>
pub fn prepare_release(&self, lease_id: u64) -> Option<LeaseRecord>
Live record to surrender, or None when the release is a no-op.
pub fn commit_release(&mut self, lease_id: u64, now_ms: u64)
Sourcepub fn min_unexpired_bound(&self, now_ms: u64) -> Option<u64>
pub fn min_unexpired_bound(&self, now_ms: u64) -> Option<u64>
Frontier lease term: min over unexpired leases, active or superseded.
Sourcepub fn live_set(&self, now_ms: u64) -> Vec<LeaseRecord>
pub fn live_set(&self, now_ms: u64) -> Vec<LeaseRecord>
The unexpired record set, for durable persistence as absolute state.
Sourcepub fn projected_live_set(
&self,
upsert: Option<&LeaseRecord>,
supersede: Option<u64>,
remove: Option<u64>,
now_ms: u64,
) -> Vec<LeaseRecord>
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
impl Debug for LeaseTable
Source§impl Default for LeaseTable
impl Default for LeaseTable
Source§fn default() -> LeaseTable
fn default() -> LeaseTable
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for LeaseTable
impl RefUnwindSafe for LeaseTable
impl Send for LeaseTable
impl Sync for LeaseTable
impl Unpin for LeaseTable
impl UnsafeUnpin for LeaseTable
impl UnwindSafe for LeaseTable
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
Mutably borrows from an owned value. Read more