code: func (hd *HealthD) poll(responses chan *pollResponse) {
  	var wg sync.WaitGroup
  	for _, hs := range hd.hostStatus {
  		wg.Add(1)
  		go func(hs *HostStatus) {
  			defer wg.Done()
  			poll(hd.stream, hs.HostPort, responses)
  		}(hs)
  	}
  	wg.Wait()
  	responses <- nil
  }
docs: // poll is meant to be alled in a new goroutine.
  // It will poll each managed host in a new goroutine.
  // When everything has finished, it will send nil to responses to signal that we have all data.