foundationdb::recipes::leader_election

Struct Observation

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

An exact durable owner record adopted after a successful outer transaction.

This records the owner, revision, and persisted duration observed together, plus the caller-clock instant at which that result was adopted. It is valid for takeover timing only while a later poll finds the same durable record.

Implementations§

Source§

impl Observation

Source

pub fn owner(&self) -> &ParticipantId

Returns the owner in the exact durable record this caller observed.

Source

pub fn rank(&self) -> Rank

Returns the exact observed durable revision as a fencing rank.

A changed rank makes this observation ineligible to authorize a takeover, even if the owner text is unchanged.

Source

pub fn lease_duration(&self) -> Duration

Returns the lease duration persisted with the observed revision.

Followers use this value, rather than a handle’s configured duration, when deciding whether the unchanged record is old enough to challenge.

Source

pub fn first_observed_at(&self) -> Duration

Returns the caller-clock time when this observation was adopted.

Compare it only with readings from the same caller’s monotonic clock. It is not a durable timestamp or a deadline for the observed owner.

Trait Implementations§

Source§

impl Clone for Observation

Source§

fn clone(&self) -> Observation

Returns a copy 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 Observation

Source§

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

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

impl PartialEq for Observation

Source§

fn eq(&self, other: &Observation) -> 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 Observation

Source§

impl StructuralPartialEq for Observation

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.