Browse Source

raft: move poll close to campaign

Xiang Li 11 years ago
parent
commit
25313b1210
1 changed files with 18 additions and 20 deletions
  1. 18 20
      raft/raft.go

+ 18 - 20
raft/raft.go

@@ -183,23 +183,6 @@ func (r *raft) softState() *SoftState {
 	return &SoftState{Lead: r.lead, RaftState: r.state, Nodes: r.nodes()}
 	return &SoftState{Lead: r.lead, RaftState: r.state, Nodes: r.nodes()}
 }
 }
 
 
-func (r *raft) poll(id uint64, v bool) (granted int) {
-	if v {
-		log.Printf("raft: %x received vote from %x at term %d", r.id, id, r.Term)
-	} else {
-		log.Printf("raft: %x received vote rejection from %x at term %d", r.id, id, r.Term)
-	}
-	if _, ok := r.votes[id]; !ok {
-		r.votes[id] = v
-	}
-	for _, vv := range r.votes {
-		if vv {
-			granted++
-		}
-	}
-	return granted
-}
-
 // send persists state to stable storage and then sends to its mailbox.
 // send persists state to stable storage and then sends to its mailbox.
 func (r *raft) send(m pb.Message) {
 func (r *raft) send(m pb.Message) {
 	m.From = r.id
 	m.From = r.id
@@ -310,9 +293,7 @@ func (r *raft) reset(term uint64) {
 	r.pendingConf = false
 	r.pendingConf = false
 }
 }
 
 
-func (r *raft) q() int {
-	return len(r.prs)/2 + 1
-}
+func (r *raft) q() int { return len(r.prs)/2 + 1 }
 
 
 func (r *raft) appendEntry(e pb.Entry) {
 func (r *raft) appendEntry(e pb.Entry) {
 	e.Term = r.Term
 	e.Term = r.Term
@@ -405,6 +386,23 @@ func (r *raft) campaign() {
 	}
 	}
 }
 }
 
 
+func (r *raft) poll(id uint64, v bool) (granted int) {
+	if v {
+		log.Printf("raft: %x received vote from %x at term %d", r.id, id, r.Term)
+	} else {
+		log.Printf("raft: %x received vote rejection from %x at term %d", r.id, id, r.Term)
+	}
+	if _, ok := r.votes[id]; !ok {
+		r.votes[id] = v
+	}
+	for _, vv := range r.votes {
+		if vv {
+			granted++
+		}
+	}
+	return granted
+}
+
 func (r *raft) Step(m pb.Message) error {
 func (r *raft) Step(m pb.Message) error {
 	// TODO(bmizerany): this likely allocs - prevent that.
 	// TODO(bmizerany): this likely allocs - prevent that.
 	defer func() { r.Commit = r.raftLog.committed }()
 	defer func() { r.Commit = r.raftLog.committed }()