raft: add a newReady helper function

release-2.0
Xiang Li 2014-09-08 21:50:04 -07:00
parent 90c0db3d42
commit df259e5878
1 changed files with 16 additions and 12 deletions

View File

@ -103,18 +103,7 @@ func (n *Node) run(r *raft) {
}
}
rd := Ready{
Entries: r.raftLog.unstableEnts(),
CommittedEntries: r.raftLog.nextEnts(),
Messages: r.msgs,
}
if isStateEqual(r.State, prevSt) {
rd.State = emptyState
} else {
rd.State = r.State
}
rd := newReady(r, prevSt)
if rd.containsUpdates() {
readyc = n.readyc
} else {
@ -182,3 +171,18 @@ func (n *Node) Step(ctx context.Context, m pb.Message) error {
func (n *Node) Ready() <-chan Ready {
return n.readyc
}
func newReady(r *raft, prev pb.State) Ready {
rd := Ready{
Entries: r.raftLog.unstableEnts(),
CommittedEntries: r.raftLog.nextEnts(),
Messages: r.msgs,
}
if isStateEqual(r.State, prev) {
rd.State = emptyState
} else {
rd.State = r.State
}
return rd
}