Generalization and refactor code base
Openraft 0.8 focused on refactoring codebase, including:
- Move logic to
Engine
, which is a event-driven non-async mod, in order to make logic more clear and tests easier: #291 - Migrate to a more generic API design:
NodeId
andNode
are no longer concrete types but a trait, so it is possible for an application to use any node-id type or node type. - Make the consensus implementation more generic: it supports both multi-leader per term mode and single-leader per term mode: feature flag single-term-leader
Full change log: https://github.com/datafuselabs/openraft/blob/release-0.8/change-log/v0.8.0.md