Browse Source

whisper : use timer.Ticker instead of sleep (#21240)

* whisper : use timer.Ticker instead of sleep

* lint: Fix linter error

Co-authored-by: Guillaume Ballet <gballet@gmail.com>
ucwong 5 years ago
parent
commit
5435e0d1a1
1 changed files with 8 additions and 2 deletions
  1. 8 2
      whisper/whisperv6/whisper.go

+ 8 - 2
whisper/whisperv6/whisper.go

@@ -249,7 +249,10 @@ func (whisper *Whisper) SetBloomFilter(bloom []byte) error {
 	go func() {
 		// allow some time before all the peers have processed the notification
 		defer whisper.wg.Done()
-		time.Sleep(time.Duration(whisper.syncAllowance) * time.Second)
+		ticker := time.NewTicker(time.Duration(whisper.syncAllowance) * time.Second)
+		defer ticker.Stop()
+
+		<-ticker.C
 		whisper.settings.Store(bloomFilterToleranceIdx, b)
 	}()
 
@@ -269,7 +272,10 @@ func (whisper *Whisper) SetMinimumPoW(val float64) error {
 	go func() {
 		defer whisper.wg.Done()
 		// allow some time before all the peers have processed the notification
-		time.Sleep(time.Duration(whisper.syncAllowance) * time.Second)
+		ticker := time.NewTicker(time.Duration(whisper.syncAllowance) * time.Second)
+		defer ticker.Stop()
+
+		<-ticker.C
 		whisper.settings.Store(minPowToleranceIdx, val)
 	}()