Skip to main content

NodeBuilderWithNodeIdAndCommunicator

Struct NodeBuilderWithNodeIdAndCommunicator 

Source
pub struct NodeBuilderWithNodeIdAndCommunicator<I: Invocation, C: Communicator> { /* private fields */ }
Expand description

Node builder with node id and communicator already set.

Implementations§

Source§

impl<I, C> NodeBuilderWithNodeIdAndCommunicator<I, C>
where I: Invocation, C: Communicator<Node = NodeOf<I>, RoundNum = RoundNumOf<I>, CoordNum = CoordNumOf<I>, LogEntry = LogEntryOf<I>, Error = CommunicationErrorOf<I>, Yea = YeaOf<I>, Nay = NayOf<I>, Abstain = AbstainOf<I>>,

Source

pub fn with( self, starter: Starter<I>, ) -> NodeBuilder<Core<I, C>, impl Finisher<Node = Core<I, C>>>

Starts the node as specified by the given starter.

Source

pub fn without_state( self, ) -> NodeBuilder<Core<I, C>, impl Finisher<Node = Core<I, C>>>

Starts the node without any state and in passive mode.

Source

pub fn with_initial_state<S: Into<Option<FrozenStateOf<I>>>>( self, initial_state: S, ) -> NodeBuilder<Core<I, C>, impl Finisher<Node = Core<I, C>>>

Starts a new cluster with the given initial state.

The round number will be zero.

Source

pub fn resuming_from<S: Into<SnapshotFor<I>>>( self, snapshot: S, ) -> NodeBuilder<Core<I, C>, impl Finisher<Node = Core<I, C>>>

Resume operation from the given snapshot.

§Soundness

It is assumed that the given snapshot was yielded from the Final event of a clean shutdown and that the node hasn’t run in the meantime. As such the node will start in active participation mode. This is unsound if the assumptions are violated.

Use recovering_with to have a failed node recover.

Source

pub fn recovering_with<S: Into<Option<SnapshotFor<I>>>>( self, snapshot: S, ) -> NodeBuilder<Core<I, C>, impl Finisher<Node = Core<I, C>>>

Resume operation from the given snapshot.

The node will participate passively until it can be certain that it is not breaking any previous commitments.

Source

pub fn recovering_without_state( self, ) -> NodeBuilder<Core<I, C>, impl Finisher<Node = Core<I, C>>>

Resume operation without a snapshot.

The node will participate passively until it can be certain that it is not breaking any previous commitments.

Source

pub fn joining_with<S: Into<Option<SnapshotFor<I>>>>( self, snapshot: S, ) -> NodeBuilder<Core<I, C>, impl Finisher<Node = Core<I, C>>>

Commence operation from the given snapshot.

§Soundness

This method assumes that the node is (re-)joining the Paxos cluster. Use recovering_with to have a failed node recover.

A node is considered to rejoin iff there is a previous round r such that this node

  • was not considered a member of the cluster for r and
  • it did not participate in any rounds since r.
Source

pub fn joining_without_state( self, ) -> NodeBuilder<Core<I, C>, impl Finisher<Node = Core<I, C>>>

Commence operation without a snapshot.

§Soundness

This method assumes that the node is (re-)joining the Paxos cluster. Use recovering_with to have a failed node recover.

A node is considered to rejoin iff there is a previous round r such that this node

  • was not considered a member of the cluster for r and
  • it did not participate in any rounds since r.

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. 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.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more