code: func (a *Agent) Query(name string, payload []byte, params *serf.QueryParam) (*serf.QueryResponse, error) {
  	// Prevent the use of the internal prefix
  	if strings.HasPrefix(name, serf.InternalQueryPrefix) {
  		// Allow the special "ping" query
  		if name != serf.InternalQueryPrefix+"ping" || payload != nil {
  			return nil, fmt.Errorf("Queries cannot contain the '%s' prefix", serf.InternalQueryPrefix)
  		}
  	}
  	a.logger.Printf("[DEBUG] agent: Requesting query send: %s. Payload: %#v",
  		name, string(payload))
  	resp, err := a.serf.Query(name, payload, params)
  	if err != nil {
  		a.logger.Printf("[WARN] agent: failed to start user query: %v", err)
  	}
  	return resp, err
  }
docs: // Query sends a Query on Serf, see Serf.Query.