jmsadair / raft

An implementation of the Raft consensus protocol.
MIT License
35 stars 3 forks source link

Refactoring #25

Closed jmsadair closed 1 year ago

jmsadair commented 1 year ago

This includes both major and minor refinements of the raft package. The most important of these are the addition of the Protocol interface and that NewServer now accepts only a Protocol instance. The purpose of this change is to make the library more flexible - it allows the user to specify what Log, Storage, and SnapshotStorage implementation they wish to use while still using Server. Further, since Server accepts a Protocol instance, a user may use their own raft implementation as long as it satisfies the interface.