format. Add separate tick for cache cleaning

This commit is contained in:
Jared Wasinger 2018-04-04 21:26:14 +00:00
parent c63b036812
commit 8054d2f3a6

View file

@ -177,7 +177,10 @@ func (self *Pss) Start(srv *p2p.Server) error {
go func() {
for {
tickC := time.Tick(defaultCleanInterval)
cacheTickC := time.Tick(cacheTTL)
select {
case <-cacheTickC:
self.cleanFwdCache()
case <-tickC:
self.cleanKeys()
case <-self.quitC:
@ -758,13 +761,13 @@ func (self *Pss) forward(msg *PssMsg) {
// remove expired entries from forward cache
func (self *Pss) cleanFwdCache() {
self.fwdCacheMu.Lock()
defer self.fwdCacheMu.Unlock()
for k,v := range self.fwdCache {
if v.expiresAt.Before(time.Now()) {
delete(self.fwdCache[k])
}
}
self.fwdCacheMu.Lock()
defer self.fwdCacheMu.Unlock()
for k, v := range self.fwdCache {
if v.expiresAt.Before(time.Now()) {
delete(self.fwdCache[k])
}
}
}
// add a message to the cache