code: func (c *requestCache) gc() {
  	now := c.clock.Now()
  	for c.ll.Len() > 0 {
  		oldest := c.ll.Back()
  		entry := oldest.Value.(*cacheEntry)
  		if !now.After(entry.expireTime) {
  			return
  		}
  
  		// Oldest value is expired; remove it.
  		c.ll.Remove(oldest)
  		delete(c.tokens, entry.token)
  	}
  }
docs: // Must be write-locked prior to calling.