in groupcache.go [520:538]
func (g *Group) Put(ctx Context, key string, data []byte, ttl *time.Time) error {
g.peersOnce.Do(g.initPeers)
g.Stats.Puts.Add(1)
if data == nil {
return errors.New("groupcache: nil data")
}
_, cacheHit := g.lookupCache(key)
if cacheHit {
g.Stats.CacheHits.Add(1)
return nil
}
err := g.store(ctx, key, data, ttl)
if err != nil {
return err
}
return nil
}