foundationdb::recipes::leader_election

Struct PollResult

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

The result prepared by super::LeaderElection::poll.

Keep this value inside the transaction callback until the enclosing Database::run succeeds. Before then, the transaction can retry, be cancelled, or fail to commit. On success, inspect Self::outcome and consume it with Self::into_next_state to carry caller-local validity into the next attempt.

Implementations§

Source§

impl PollResult

Source

pub fn outcome(&self) -> &PollOutcome

Returns the role and fencing rank prepared by this transaction attempt.

See PollOutcome for when the rank is usable for protected work.

Source

pub fn into_next_state(self, adopted_at: Duration) -> LocalState

Consumes this result and returns the caller-local state for the next attempt.

adopted_at must be read from the caller’s monotonic clock after the enclosing Database::run succeeds. It timestamps only a new or reset observation; an unchanged observation and leadership token retain their original attempt-local timestamps.

Trait Implementations§

Source§

impl Clone for PollResult

Source§

fn clone(&self) -> PollResult

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 PollResult

Source§

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

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

impl PartialEq for PollResult

Source§

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

Source§

impl StructuralPartialEq for PollResult

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.