clientv3/balancer/resolver/endpoint/endpoint.go
func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOption) (resolver.Resolver, error) {
	if len(target.Authority) < 1 {
		return nil, fmt.Errorf("'etcd' target scheme requires non-empty authority identifying etcd cluster being routed to")
	}
	id := target.Authority
	es, err := b.getResolverGroup(id)
	if err != nil {
		return nil, fmt.Errorf("failed to build resolver: %v", err)
	}
	r := &Resolver{
		endpointID: id,
		cc:         cc,
	}
	es.addResolver(r)
	return r, nil
}
func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOption) (resolver.Resolver, error) {
	if len(target.Authority) < 1 {
		return nil, fmt.Errorf("'etcd' target scheme requires non-empty authority identifying etcd cluster being routed to")
	}
	id := target.Authority
	es, err := b.getResolverGroup(id)
	if err != nil {
		return nil, fmt.Errorf("failed to build resolver: %v", err)
	}
	r := &Resolver{
		endpointID: id,
		cc:         cc,
	}
	es.addResolver(r)
	return r, nil
}
func ( b * builder ) Build ( target resolver . Target , cc resolver . ClientConn , opts resolver . BuildOption ) ( resolver . Resolver , error ) { if len ( target . Authority ) < 1 { return nil , fmt . Errorf ( " " ) } id := target . Authority es , err := b . getResolverGroup ( id ) if err != nil { return nil , fmt . Errorf ( " " , err ) } r := & Resolver { endpointID : id , cc : cc , } es . addResolver ( r ) return r , nil }
// Build creates or reuses an etcd resolver for the etcd cluster name identified by the authority part of the target.
Build creates or reuses an etcd resolver for the etcd cluster name identified by the authority part of the target .