func()

in grpcgcp/gcp_balancer.go [553:573]


func (gb *gcpBalancer) refresh(ref *subConnRef) {
	if ref.refreshing {
		return
	}
	gb.mu.Lock()
	defer gb.mu.Unlock()
	if ref.refreshing {
		return
	}
	ref.refreshing = true
	sc, err := gb.cc.NewSubConn(
		gb.addrs,
		balancer.NewSubConnOptions{HealthCheckEnabled: healthCheckEnabled},
	)
	if err != nil {
		gb.log.Errorf("failed to create a replacement SubConn with NewSubConn: %v", err)
		return
	}
	gb.refreshingScRefs[sc] = ref
	sc.Connect()
}