code: func (p *Pss) addFwdCache(msg *PssMsg) error {
  	metrics.GetOrRegisterCounter("pss.addfwdcache", nil).Inc(1)
  
  	var entry pssCacheEntry
  	var ok bool
  
  	p.fwdCacheMu.Lock()
  	defer p.fwdCacheMu.Unlock()
  
  	digest := p.digest(msg)
  	if entry, ok = p.fwdCache[digest]; !ok {
  		entry = pssCacheEntry{}
  	}
  	entry.expiresAt = time.Now().Add(p.cacheTTL)
  	p.fwdCache[digest] = entry
  	return nil
  }
docs: // add a message to the cache