github.com/projecteru2/core@v0.0.0-20240321043226-06bcc1c23f58/client/servicediscovery/builder.go (about) 1 package servicediscovery 2 3 import "google.golang.org/grpc/resolver" 4 5 // LBResolverBuilder for service discovery lb 6 type LBResolverBuilder struct { 7 updateCh chan []string 8 } 9 10 var lbResolverBuilder *LBResolverBuilder 11 12 func init() { //nolint 13 lbResolverBuilder = &LBResolverBuilder{ 14 updateCh: make(chan []string), 15 } 16 resolver.Register(lbResolverBuilder) 17 } 18 19 // Scheme for interface 20 func (b *LBResolverBuilder) Scheme() string { 21 return "lb" 22 } 23 24 // Build for interface 25 func (b *LBResolverBuilder) Build(target resolver.Target, cc resolver.ClientConn, _ resolver.BuildOptions) (resolver.Resolver, error) { 26 return newLBResolver(cc, target.URL.Path, b.updateCh), nil 27 }