code: func (r *QueryResponse) sendResponse(nr NodeResponse) error {
  	r.closeLock.Lock()
  	defer r.closeLock.Unlock()
  	if r.closed {
  		return nil
  	}
  	select {
  	case r.respCh <- nr:
  		r.responses[nr.From] = struct{}{}
  	default:
  		return errors.New("serf: Failed to deliver query response, dropping")
  	}
  	return nil
  }
docs: // sendResponse sends a response on the response channel ensuring the channel is not closed.