add conditions for state for loops
parent
56d6c1755c
commit
029b60f530
29
server.go
29
server.go
|
@ -608,7 +608,7 @@ func (s *server) followerLoop() {
|
|||
electionTimeout := s.ElectionTimeout()
|
||||
timeoutChan := afterBetween(s.ElectionTimeout(), s.ElectionTimeout()*2)
|
||||
|
||||
for {
|
||||
for s.State() == Follower {
|
||||
var err error
|
||||
update := false
|
||||
select {
|
||||
|
@ -663,11 +663,6 @@ func (s *server) followerLoop() {
|
|||
since = time.Now()
|
||||
timeoutChan = afterBetween(s.ElectionTimeout(), s.ElectionTimeout()*2)
|
||||
}
|
||||
|
||||
// Exit loop on state change.
|
||||
if s.State() != Follower {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -682,7 +677,7 @@ func (s *server) candidateLoop() {
|
|||
s.DispatchEvent(newEvent(LeaderChangeEventType, s.leader, prevLeader))
|
||||
}
|
||||
|
||||
for {
|
||||
for s.State() == Candidate {
|
||||
// Increment current term, vote for self.
|
||||
s.currentTerm++
|
||||
s.votedFor = s.name
|
||||
|
@ -750,12 +745,6 @@ func (s *server) candidateLoop() {
|
|||
break
|
||||
}
|
||||
}
|
||||
|
||||
// break when we are not candidate
|
||||
if s.State() != Candidate {
|
||||
break
|
||||
}
|
||||
|
||||
// continue when timeout happened
|
||||
}
|
||||
}
|
||||
|
@ -779,7 +768,7 @@ func (s *server) leaderLoop() {
|
|||
go s.Do(NOPCommand{})
|
||||
|
||||
// Begin to collect response from followers
|
||||
for {
|
||||
for s.State() == Leader {
|
||||
var err error
|
||||
select {
|
||||
case e := <-s.c:
|
||||
|
@ -806,11 +795,6 @@ func (s *server) leaderLoop() {
|
|||
// Callback to event.
|
||||
e.c <- err
|
||||
}
|
||||
|
||||
// Exit loop on state change.
|
||||
if s.State() != Leader {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
s.syncedPeer = nil
|
||||
|
@ -819,7 +803,7 @@ func (s *server) leaderLoop() {
|
|||
func (s *server) snapshotLoop() {
|
||||
s.setState(Snapshotting)
|
||||
|
||||
for {
|
||||
for s.State() == Snapshotting {
|
||||
var err error
|
||||
|
||||
e := <-s.c
|
||||
|
@ -840,11 +824,6 @@ func (s *server) snapshotLoop() {
|
|||
}
|
||||
// Callback to event.
|
||||
e.c <- err
|
||||
|
||||
// Exit loop on state change.
|
||||
if s.State() != Snapshotting {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue