raft: remove setX methods

release-2.0
Blake Mizerany 2014-08-23 17:30:14 -07:00 committed by Yicheng Qin
parent 5deaada0dc
commit 72c65e74f5
1 changed files with 6 additions and 31 deletions

View File

@ -272,9 +272,9 @@ func (r *raft) nextEnts() (ents []Entry) {
}
func (r *raft) reset(term int64) {
r.setTerm(term)
r.Term = term
r.lead.Set(none)
r.setVote(none)
r.Vote = none
r.votes = make(map[int64]bool)
for i := range r.prs {
r.prs[i] = &progress{next: r.raftLog.lastIndex() + 1}
@ -309,7 +309,7 @@ func (r *raft) becomeCandidate() {
panic("invalid transition [leader -> candidate]")
}
r.reset(r.Term + 1)
r.setVote(r.id)
r.Vote = r.id
r.state = stateCandidate
}
@ -476,7 +476,7 @@ func stepFollower(r *raft, m Message) {
r.handleSnapshot(m)
case msgVote:
if (r.Vote == none || r.Vote == m.From) && r.raftLog.isUpToDate(m.Index, m.LogTerm) {
r.setVote(m.From)
r.Vote = m.From
r.send(Message{To: m.From, Type: msgVoteResp, Index: r.raftLog.lastIndex()})
} else {
r.send(Message{To: m.From, Type: msgVoteResp, Index: -1})
@ -528,37 +528,12 @@ func (r *raft) nodes() []int64 {
return nodes
}
func (r *raft) setTerm(term int64) {
r.Term = term
r.saveState()
}
func (r *raft) setVote(vote int64) {
r.Vote = vote
r.saveState()
}
func (r *raft) addIns(id, match, next int64) {
r.prs[id] = &progress{next: next, match: match}
r.saveState()
}
func (r *raft) deleteIns(id int64) {
delete(r.prs, id)
r.saveState()
}
// saveState saves the state to r.State
// When there is a term change, vote change or configuration change, raft
// must call saveState.
func (r *raft) saveState() {
r.setState(r.Vote, r.Term, r.raftLog.committed)
}
func (r *raft) setState(vote, term, commit int64) {
r.Vote = vote
r.Term = term
r.Commit = commit
}
func (r *raft) loadEnts(ents []Entry) {
@ -571,8 +546,8 @@ func (r *raft) loadEnts(ents []Entry) {
func (r *raft) loadState(state State) {
r.raftLog.committed = state.Commit
r.setTerm(state.Term)
r.setVote(state.Vote)
r.Term = state.Term
r.Vote = state.Vote
}
func (s *State) IsEmpty() bool {