func (lb *rlsBalancer) run() {
	for {
		// TODO(easwars): Handle other updates like subConn state changes, RLS
		// responses from the server etc.
		select {
		case u := <-lb.ccUpdateCh:
			lb.handleClientConnUpdate(u)
		case <-lb.done.Done():
			return
		}
	}
}
// run is a long running goroutine which handles all the updates that the
// balancer wishes to handle. The appropriate updateHandler will push the update
// on to a channel that this goroutine will select on, thereby the handling of
// the update will happen asynchronously.
run is a long running goroutine which handles all the updates that the
balancer wishes to handle. The appropriate updateHandler will push the update
on to a channel that this goroutine will select on, thereby the handling of
the update will happen asynchronously.
// run is a long running goroutine which handles all the updates that the // balancer wishes to handle . The appropriate updateHandler will push the update // on to a channel that this goroutine will select on thereby the handling of // the update will happen asynchronously .
func (lb *rlsBalancer) run() {
	for {
		select {
		case u := <-lb.ccUpdateCh:
			lb.handleClientConnUpdate(u)
		case <-lb.done.Done():
			return
		}
	}
}
func ( lb * rlsBalancer ) run ( ) { for { select { case u := <- lb . ccUpdateCh : lb . handleClientConnUpdate ( u ) case <- lb . done . Done ( ) : return } } }
run is a long running goroutine which handles all the updates that the
balancer wishes to handle.
run is a long running goroutine which handles all the updates that the balancer wishes to handle .
// TODO(easwars): Handle other updates like subConn state changes, RLS // responses from the server etc.