code: func (c *remoteConn) sendDiscoveryRequests(req discoveryRequest) error {
  	discoveryCh, err := c.openDiscoveryChannel()
  	if err != nil {
  		return trace.Wrap(err)
  	}
  
  	// Marshal and send the request. If the connection failed, mark the
  	// connection as invalid so it will be removed later.
  	payload, err := marshalDiscoveryRequest(req)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	_, err = discoveryCh.SendRequest(chanDiscoveryReq, false, payload)
  	if err != nil {
  		c.markInvalid(err)
  		return trace.Wrap(err)
  	}
  
  	return nil
  }
docs: // sendDiscoveryRequests sends a discovery request with missing proxies.