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
define a ConsensusHandler with callbacks doing the job for passing messages generated by consensus to other nodes
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
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.