mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-23 05:06:43 +00:00
Refactor updateFilterMapsHeads to Use Timer Instead of time.After
This commit is contained in:
parent
5c6ba6b400
commit
22deabb725
1 changed files with 7 additions and 1 deletions
|
|
@ -502,14 +502,20 @@ func (s *Ethereum) updateFilterMapsHeads() {
|
||||||
}
|
}
|
||||||
setHead(s.blockchain.CurrentBlock())
|
setHead(s.blockchain.CurrentBlock())
|
||||||
|
|
||||||
|
timer := time.NewTimer(time.Second * 10)
|
||||||
|
defer timer.Stop()
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case ev := <-headEventCh:
|
case ev := <-headEventCh:
|
||||||
setHead(ev.Header)
|
setHead(ev.Header)
|
||||||
|
timer.Reset(time.Second * 10)
|
||||||
case blockProc := <-blockProcCh:
|
case blockProc := <-blockProcCh:
|
||||||
s.filterMaps.SetBlockProcessing(blockProc)
|
s.filterMaps.SetBlockProcessing(blockProc)
|
||||||
case <-time.After(time.Second * 10):
|
timer.Reset(time.Second * 10)
|
||||||
|
case <-timer.C:
|
||||||
setHead(s.blockchain.CurrentBlock())
|
setHead(s.blockchain.CurrentBlock())
|
||||||
|
timer.Reset(time.Second * 10)
|
||||||
case ch := <-s.closeFilterMaps:
|
case ch := <-s.closeFilterMaps:
|
||||||
close(ch)
|
close(ch)
|
||||||
return
|
return
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue