Crate raft_consensus

Source
Expand description

§Raft

This is a crate containing a Raft consensus protocol implementation and encoding/decoding helpers. This is a logic-only crate without any networking part.

To use Raft in it’s full strength using this crate, one should do the following:

  • determine and implement(or take ready ones) state machine and persistent log implementations

  • find or make a part responsible for passing peer and client messages over the wire and pass all these messages from to one of ...Consensus structures

  • define a ConsensusHandler with callbacks doing the job for passing messages generated by consensus to other nodes

Re-exports§

Modules§

  • Implementation of Raft consensus API
  • Error type with all possible errors
  • Handlers for consensus callbacks
  • Messages that are passed during consensus work
  • The persistent storage of Raft state.
  • Handle consensus from many threads
  • Provides consensus state type
  • A StateMachine is a single instance of a distributed application. It is the raft libraries responsibility to take commands from the Client and apply them to each StateMachine instance in a globally consistent order.

Structs§

  • The ID of a Raft client.
  • Type representing a log entry
  • The index of a log entry.
  • The ID of a Raft server. Must be unique among the participants in a consensus group.
  • The term of a log entry.