package resolver import ( "fmt" "google.golang.org/grpc/resolver" ) const ( // DirectScheme stands for direct scheme. DirectScheme = "direct" // DiscovScheme stands for discov scheme. DiscovScheme = "discov" // EtcdScheme stands for etcd scheme. EtcdScheme = "etcd" // KubernetesScheme stands for k8s scheme. KubernetesScheme = "k8s" // EndpointSepChar is the separator cha in endpoints. EndpointSepChar = ',' subsetSize = 32 ) var ( // EndpointSep is the separator string in endpoints. EndpointSep = fmt.Sprintf("%c", EndpointSepChar) directResolverBuilder directBuilder discovResolverBuilder discovBuilder etcdResolverBuilder etcdBuilder k8sResolverBuilder kubeBuilder ) // RegisterResolver registers the direct and discov schemes to the resolver. func RegisterResolver() { resolver.Register(&directResolverBuilder) resolver.Register(&discovResolverBuilder) resolver.Register(&etcdResolverBuilder) resolver.Register(&k8sResolverBuilder) } type nopResolver struct { cc resolver.ClientConn } func (r *nopResolver) Close() { } func (r *nopResolver) ResolveNow(options resolver.ResolveNowOptions) { }