func (lrsC *lrsClient) ref() *load.Store {
	lrsC.refCount++
	if lrsC.refCount == 1 {
		lrsC.startStream()
	}
	return lrsC.loadStore
}
ref increments the refCount. If this is the first ref, it starts the LRS stream.

Not thread-safe, caller needs to synchronize.
package xdsclient
import (
	"context"
	"google.golang.org/grpc"
	"google.golang.org/grpc/xds/internal/xdsclient/load"
)
func (c *clientImpl) ReportLoad(server string) (*load.Store, func()) {
	c.lrsMu.Lock()
	defer c.lrsMu.Unlock()
	lrsC, ok := c.lrsClients[server]
	if !ok {
		lrsC = newLRSClient(c, server)
		c.lrsClients[server] = lrsC
	}
	store := lrsC.ref()
	return store, func() {
		c.lrsMu.Lock()
		defer c.lrsMu.Unlock()
		if lrsC.unRef() {
			delete(c.lrsClients, server)
		}
	}
}
type lrsClient struct {
	parent *clientImpl
	server string
	cc           *grpc.ClientConn  
	refCount     int
	cancelStream func()
	loadStore    *load.Store
}
func newLRSClient(parent *clientImpl, server string) *lrsClient {
	return &lrsClient{
		parent:   parent,
		server:   server,
		refCount: 0,
	}
}