code: func newSerfQueries(serf *Serf, logger *log.Logger, outCh chan<- Event, shutdownCh <-chan struct{}) (chan<- Event, error) {
  	inCh := make(chan Event, 1024)
  	q := &serfQueries{
  		inCh:       inCh,
  		logger:     logger,
  		outCh:      outCh,
  		serf:       serf,
  		shutdownCh: shutdownCh,
  	}
  	go q.stream()
  	return inCh, nil
  }
docs: // newSerfQueries is used to create a new serfQueries. We return an event
  // channel that is ingested and forwarded to an outCh. Any Queries that
  // have the InternalQueryPrefix are handled instead of forwarded.