code: func (r *ForwarderRequest) Complete(sendReset bool) {
  	r.mu.Lock()
  	defer r.mu.Unlock()
  
  	if r.segment == nil {
  		panic("Completing already completed forwarder request")
  	}
  
  	// Remove request from the forwarder.
  	r.forwarder.mu.Lock()
  	delete(r.forwarder.inFlight, r.segment.id)
  	r.forwarder.mu.Unlock()
  
  	// If the caller requested, send a reset.
  	if sendReset {
  		replyWithReset(r.segment)
  	}
  
  	// Release all resources.
  	r.segment.decRef()
  	r.segment = nil
  	r.forwarder = nil
  }
docs: // Complete completes the request, and optionally sends a RST segment back to the
  // sender.