mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-18 01:43:47 +00:00
format. Add separate tick for cache cleaning
This commit is contained in:
parent
c63b036812
commit
8054d2f3a6
1 changed files with 10 additions and 7 deletions
|
|
@ -177,7 +177,10 @@ func (self *Pss) Start(srv *p2p.Server) error {
|
||||||
go func() {
|
go func() {
|
||||||
for {
|
for {
|
||||||
tickC := time.Tick(defaultCleanInterval)
|
tickC := time.Tick(defaultCleanInterval)
|
||||||
|
cacheTickC := time.Tick(cacheTTL)
|
||||||
select {
|
select {
|
||||||
|
case <-cacheTickC:
|
||||||
|
self.cleanFwdCache()
|
||||||
case <-tickC:
|
case <-tickC:
|
||||||
self.cleanKeys()
|
self.cleanKeys()
|
||||||
case <-self.quitC:
|
case <-self.quitC:
|
||||||
|
|
@ -758,13 +761,13 @@ func (self *Pss) forward(msg *PssMsg) {
|
||||||
|
|
||||||
// remove expired entries from forward cache
|
// remove expired entries from forward cache
|
||||||
func (self *Pss) cleanFwdCache() {
|
func (self *Pss) cleanFwdCache() {
|
||||||
self.fwdCacheMu.Lock()
|
self.fwdCacheMu.Lock()
|
||||||
defer self.fwdCacheMu.Unlock()
|
defer self.fwdCacheMu.Unlock()
|
||||||
for k,v := range self.fwdCache {
|
for k, v := range self.fwdCache {
|
||||||
if v.expiresAt.Before(time.Now()) {
|
if v.expiresAt.Before(time.Now()) {
|
||||||
delete(self.fwdCache[k])
|
delete(self.fwdCache[k])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// add a message to the cache
|
// add a message to the cache
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue