consensus: hvs.Reset(height, valSet)

This commit is contained in:
Ethan Buchman 2016-07-11 21:45:08 -04:00
parent 47acada2cb
commit 33d9877599
1 changed files with 17 additions and 7 deletions

View File

@ -38,18 +38,28 @@ type HeightVoteSet struct {
func NewHeightVoteSet(chainID string, height int, valSet *types.ValidatorSet) *HeightVoteSet { func NewHeightVoteSet(chainID string, height int, valSet *types.ValidatorSet) *HeightVoteSet {
hvs := &HeightVoteSet{ hvs := &HeightVoteSet{
chainID: chainID, chainID: chainID,
height: height,
valSet: valSet,
roundVoteSets: make(map[int]RoundVoteSet),
peerCatchupRounds: make(map[string]int),
} }
hvs.addRound(0) hvs.Reset(height, valSet)
hvs.round = 0
return hvs return hvs
} }
func (hvs *HeightVoteSet) Reset(height int, valSet *types.ValidatorSet) {
hvs.mtx.Lock()
defer hvs.mtx.Unlock()
hvs.height = height
hvs.valSet = valSet
hvs.roundVoteSets = make(map[int]RoundVoteSet)
hvs.peerCatchupRounds = make(map[string]int)
hvs.addRound(0)
hvs.round = 0
}
func (hvs *HeightVoteSet) Height() int { func (hvs *HeightVoteSet) Height() int {
hvs.mtx.Lock()
defer hvs.mtx.Unlock()
return hvs.height return hvs.height
} }