raft: add a newReady helper function
parent
90c0db3d42
commit
df259e5878
28
raft/node.go
28
raft/node.go
|
@ -103,18 +103,7 @@ func (n *Node) run(r *raft) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rd := Ready{
|
rd := newReady(r, prevSt)
|
||||||
Entries: r.raftLog.unstableEnts(),
|
|
||||||
CommittedEntries: r.raftLog.nextEnts(),
|
|
||||||
Messages: r.msgs,
|
|
||||||
}
|
|
||||||
|
|
||||||
if isStateEqual(r.State, prevSt) {
|
|
||||||
rd.State = emptyState
|
|
||||||
} else {
|
|
||||||
rd.State = r.State
|
|
||||||
}
|
|
||||||
|
|
||||||
if rd.containsUpdates() {
|
if rd.containsUpdates() {
|
||||||
readyc = n.readyc
|
readyc = n.readyc
|
||||||
} else {
|
} else {
|
||||||
|
@ -182,3 +171,18 @@ func (n *Node) Step(ctx context.Context, m pb.Message) error {
|
||||||
func (n *Node) Ready() <-chan Ready {
|
func (n *Node) Ready() <-chan Ready {
|
||||||
return n.readyc
|
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
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue