code: func (c *requestCache) Insert(req request) (token string, err error) {
  	c.lock.Lock()
  	defer c.lock.Unlock()
  
  	// Remove expired entries.
  	c.gc()
  	// If the cache is full, reject the request.
  	if c.ll.Len() == maxInFlight {
  		return "", NewErrorTooManyInFlight()
  	}
  	token, err = c.uniqueToken()
  	if err != nil {
  		return "", err
  	}
  	ele := c.ll.PushFront(&cacheEntry{token, req, c.clock.Now().Add(cacheTTL)})
  
  	c.tokens[token] = ele
  	return token, nil
  }
docs: // Insert the given request into the cache and returns the token used for fetching it out.