Crate jarl

Source
Expand description

§Raft state machine

(Figure 4 from Raft paper)

Starting state = [Follower]
===========================

*******************          ┌───────────┐   **************
* Times out,      *          │           ┼──>* Times out, *
* starts election *─────────>│ Candidate │   * tries new  *
*                 *          │           │<──* election   *
*******************          └─┬───────┬─┘   **************
      ^                        v       │
 ┌────┴─────┐   *********************  │
 │ Follower │<──* Discovers current *  │
 └──────────┘   * leader or         *  │
      ^         * new term          *  │
      │         *********************  v
      │                               ******************
********************    ┌────────┐    * Receives votes *
* Discovers server *<───┼ Leader │<───* from majority  *
* with higher term *    └────────┘    * of nodes       *
********************                  ******************

Modules§

log
msg
node