- Refactor into trait
-
State to<SM, L, N>
? -> Reuse old code - Handle client message
- Handle peer message
- Handle timer
-
- Init ChanNetwork in main demo/integration test
- Impl RaftNetwork for ChanNetwork
- Integration test
- Split RaftState by Role
- Handle term for each peer msg
- Batch network action
- Rename Log to Storage
- Move HardState to Storage
- Move client from network to Node, add Node#request, Node#query
- Move StateMachine to Storage
- Introduce Output type for SM
- StateMachine batch processing
- StateMachine snapshotting
- Topology change
- Refactor to type based State FSM LeaderState / NodeState
- Proper error handling
- CoW snapshotting
- Zero-copy/clone serialization