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() { 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:
@ -760,7 +763,7 @@ func (self *Pss) forward(msg *PssMsg) {
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])
} }