code: func (c *Cache) snapshot() (ss snapshot) {
  	c.lock.RLock()
  	defer c.lock.RUnlock()
  
  	if len(c.cache) > 0 {
  		ss = make(snapshot)
  		for k, e := range c.cache {
  			ss[k] = e.Value.(*cacheEntry).v
  		}
  	}
  	return
  }
docs: // snapshot returns a snapshot map of the cache's entries.