code: func (node *ServerNode) QueuedRequest(reqID, maxCost uint64) {
  	node.lock.Lock()
  	defer node.lock.Unlock()
  
  	now := node.clock.Now()
  	node.recalcBLE(now)
  	// Note: we do not know when requests actually arrive to the server so bufRecharge
  	// is not turned on here if buffer was full; in this case it is going to be turned
  	// on by the first reply's bufValue feedback
  	if node.bufEstimate >= maxCost {
  		node.bufEstimate -= maxCost
  	} else {
  		log.Error("Queued request with insufficient buffer estimate")
  		node.bufEstimate = 0
  	}
  	node.sumCost += maxCost
  	node.pending[reqID] = node.sumCost
  	if node.log != nil {
  		node.log.add(now, fmt.Sprintf("queued  reqID=%d  bufEst=%d  maxCost=%d  sumCost=%d", reqID, node.bufEstimate, maxCost, node.sumCost))
  	}
  }
docs: // QueuedRequest should be called when the request has been assigned to the given
  // server node, before putting it in the send queue. It is mandatory that requests
  // are sent in the same order as the QueuedRequest calls are made.