From 183b66e972af97a7cc9468d6bf597d4bc0e8af0f Mon Sep 17 00:00:00 2001 From: Goran Rojovic <goran.rojovic@ethernal.tech> Date: Wed, 10 Apr 2024 18:15:08 +0200 Subject: [PATCH] lint fix --- consensus/polybft/polybft.go | 8 +++++--- consensus/polybft/stale_sequence_check.go | 9 ++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/consensus/polybft/polybft.go b/consensus/polybft/polybft.go index 25a0c21766..f1d8561569 100644 --- a/consensus/polybft/polybft.go +++ b/consensus/polybft/polybft.go @@ -629,11 +629,13 @@ func (p *Polybft) startConsensusProtocol() { stopSequence func() ) - // check every block time * 1.5, so we don't artificially close a sequence before the actual sequence has ended properly + // check every block time * 1.5, so we don't artificially close a sequence + // before the actual sequence has ended properly checkOffset := p.config.BlockTime if checkOffset > 1 { - checkOffset = checkOffset / 2 + checkOffset /= 2 } + checkFrequency := time.Duration(p.config.BlockTime + checkOffset) staleChecker := newStaleSequenceCheck(p.logger, p.blockchain.CurrentHeader, checkFrequency*time.Second) @@ -679,7 +681,7 @@ func (p *Polybft) startConsensusProtocol() { } case <-sequenceCh: case <-p.closeCh: - p.logger.Debug("[BRE] stoping sequence", "block number", latestHeader.Number+1) + p.logger.Debug("stoping sequence", "block number", latestHeader.Number+1) if isValidator { stopSequence() staleChecker.stopChecking() diff --git a/consensus/polybft/stale_sequence_check.go b/consensus/polybft/stale_sequence_check.go index 830a3957bd..28061ca1eb 100644 --- a/consensus/polybft/stale_sequence_check.go +++ b/consensus/polybft/stale_sequence_check.go @@ -19,7 +19,10 @@ type staleSequenceCheck struct { getHeader func() *types.Header } -func newStaleSequenceCheck(logger hclog.Logger, getHeader func() *types.Header, checkDuration time.Duration) *staleSequenceCheck { +func newStaleSequenceCheck(logger hclog.Logger, + getHeader func() *types.Header, + checkDuration time.Duration, +) *staleSequenceCheck { return &staleSequenceCheck{ logger: logger, currentSequence: 0, @@ -33,14 +36,18 @@ func (s *staleSequenceCheck) startChecking() { s.sequenceShouldStop = make(chan struct{}, 1) s.stop = make(chan struct{}) s.stopped = make(chan struct{}) + ticker := time.NewTicker(s.checkFrequency) + go func() { defer close(s.stopped) + for { select { case <-s.stop: close(s.sequenceShouldStop) ticker.Stop() + return case <-ticker.C: s.checkForStaleness()