func()

in groupcache.go [736:752]


func (c *cache) add(key string, payload payload) {
	c.mu.Lock()
	defer c.mu.Unlock()
	c.updateMetadata(key, payload.ttl, int64(payload.value.Len()))
	if c.lru == nil {
		c.lru = &lru.Cache{
			OnEvicted: func(key lru.Key, value interface{}) {
				val := value.(ByteView)
				delete(c.metadata, key.(string))
				c.nbytes -= int64(len(key.(string))) + int64(val.Len())
				c.nevict++
			},
		}
	}
	c.lru.Add(key, payload.value)
	c.nbytes += int64(len(key)) + int64(payload.value.Len())
}