mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
raft: group getter funcs
This commit is contained in:
parent
f73d059d80
commit
8ead428e76
22
raft/raft.go
22
raft/raft.go
@ -183,6 +183,17 @@ func (r *raft) softState() *SoftState {
|
||||
return &SoftState{Lead: r.lead, RaftState: r.state, Nodes: r.nodes()}
|
||||
}
|
||||
|
||||
func (r *raft) q() int { return len(r.prs)/2 + 1 }
|
||||
|
||||
func (r *raft) nodes() []uint64 {
|
||||
nodes := make([]uint64, 0, len(r.prs))
|
||||
for k := range r.prs {
|
||||
nodes = append(nodes, k)
|
||||
}
|
||||
sort.Sort(uint64Slice(nodes))
|
||||
return nodes
|
||||
}
|
||||
|
||||
// send persists state to stable storage and then sends to its mailbox.
|
||||
func (r *raft) send(m pb.Message) {
|
||||
m.From = r.id
|
||||
@ -293,8 +304,6 @@ func (r *raft) reset(term uint64) {
|
||||
r.pendingConf = false
|
||||
}
|
||||
|
||||
func (r *raft) q() int { return len(r.prs)/2 + 1 }
|
||||
|
||||
func (r *raft) appendEntry(e pb.Entry) {
|
||||
e.Term = r.Term
|
||||
e.Index = r.raftLog.lastIndex() + 1
|
||||
@ -599,15 +608,6 @@ func (r *raft) needSnapshot(i uint64) bool {
|
||||
return i < r.raftLog.firstIndex()
|
||||
}
|
||||
|
||||
func (r *raft) nodes() []uint64 {
|
||||
nodes := make([]uint64, 0, len(r.prs))
|
||||
for k := range r.prs {
|
||||
nodes = append(nodes, k)
|
||||
}
|
||||
sort.Sort(uint64Slice(nodes))
|
||||
return nodes
|
||||
}
|
||||
|
||||
// promotable indicates whether state machine can be promoted to leader,
|
||||
// which is true when its own id is in progress list.
|
||||
func (r *raft) promotable() bool {
|
||||
|
Loading…
x
Reference in New Issue
Block a user