code: func (f *StatsFetcher) fetch(server *metadata.Server, replyCh chan *autopilot.ServerStats) {
  	var args struct{}
  	var reply autopilot.ServerStats
  	err := f.pool.RPC(f.datacenter, server.Addr, server.Version, "Status.RaftStats", server.UseTLS, &args, &reply)
  	if err != nil {
  		f.logger.Printf("[WARN] consul: error getting server health from %q: %v",
  			server.Name, err)
  	} else {
  		replyCh <- &reply
  	}
  
  	f.inflightLock.Lock()
  	delete(f.inflight, server.ID)
  	f.inflightLock.Unlock()
  }
docs: // fetch does the RPC to fetch the server stats from a single server. We don't
  // cancel this when the context is canceled because we only want one in-flight
  // RPC to each server, so we let it finish and then clean up the in-flight
  // tracking.