From 092461d7c80cbeeb1fdfa0527765d5571b40d5e6 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Tue, 27 May 2014 22:50:47 -0700 Subject: [PATCH] raft: rename log.len to log.lastIndex --- raft/log.go | 12 ++++++------ raft/raft.go | 14 +++++--------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/raft/log.go b/raft/log.go index 4411acfe9..ed51cb764 100644 --- a/raft/log.go +++ b/raft/log.go @@ -32,19 +32,19 @@ func (l *log) append(after int, ents ...Entry) int { return len(l.ents) - 1 } -func (l *log) len() int { +func (l *log) lastIndex() int { return len(l.ents) - 1 } func (l *log) term(i int) int { - if i > l.len() { + if i > l.lastIndex() { return -1 } return l.ents[i].Term } func (l *log) entries(i int) []Entry { - if i > l.len() { + if i > l.lastIndex() { return nil } return l.ents[i:] @@ -54,12 +54,12 @@ func (l *log) isUpToDate(i, term int) bool { // LET upToDate == \/ m.mlastLogTerm > LastTerm(log[i]) // \/ /\ m.mlastLogTerm = LastTerm(log[i]) // /\ m.mlastLogIndex >= Len(log[i]) - e := l.ents[l.len()] - return term > e.Term || (term == e.Term && i >= l.len()) + e := l.ents[l.lastIndex()] + return term > e.Term || (term == e.Term && i >= l.lastIndex()) } func (l *log) matchTerm(i, term int) bool { - if i > l.len() { + if i > l.lastIndex() { return false } return l.ents[i].Term == term diff --git a/raft/raft.go b/raft/raft.go index 030751323..6540e50fa 100644 --- a/raft/raft.go +++ b/raft/raft.go @@ -185,7 +185,7 @@ func (sm *stateMachine) reset() { sm.votes = make(map[int]bool) sm.ins = make([]*index, sm.k) for i := range sm.ins { - sm.ins[i] = &index{next: sm.log.len() + 1} + sm.ins[i] = &index{next: sm.log.lastIndex() + 1} } } @@ -197,10 +197,6 @@ func (sm *stateMachine) voteWorthy(i, term int) bool { return sm.log.isUpToDate(i, term) } -func (sm *stateMachine) li() int { - return sm.log.len() -} - func (sm *stateMachine) becomeFollower(term, lead int) { sm.reset() sm.term = term @@ -245,14 +241,14 @@ func (sm *stateMachine) Step(m Message) { if i == sm.addr { continue } - lasti := sm.li() + lasti := sm.log.lastIndex() sm.send(Message{To: i, Type: msgVote, Index: lasti, LogTerm: sm.log.term(lasti)}) } return case msgProp: switch sm.lead { case sm.addr: - sm.log.append(sm.log.len(), Entry{Term: sm.term, Data: m.Data}) + sm.log.append(sm.log.lastIndex(), Entry{Term: sm.term, Data: m.Data}) sm.sendAppend() case none: panic("msgProp given without leader") @@ -275,7 +271,7 @@ func (sm *stateMachine) Step(m Message) { if sm.log.matchTerm(m.Index, m.LogTerm) { sm.log.commit = m.Commit sm.log.append(m.Index, m.Entries...) - sm.send(Message{To: m.From, Type: msgAppResp, Index: sm.li()}) + sm.send(Message{To: m.From, Type: msgAppResp, Index: sm.log.lastIndex()}) } else { sm.send(Message{To: m.From, Type: msgAppResp, Index: -1}) } @@ -317,7 +313,7 @@ func (sm *stateMachine) Step(m Message) { handleAppendEntries() case msgVote: if sm.voteWorthy(m.Index, m.LogTerm) { - sm.send(Message{To: m.From, Type: msgVoteResp, Index: sm.li()}) + sm.send(Message{To: m.From, Type: msgVoteResp, Index: sm.log.lastIndex()}) } else { sm.send(Message{To: m.From, Type: msgVoteResp, Index: -1}) }