Package io.grpc.xds

Class XdsNameResolverProvider

java.lang.Object
io.grpc.NameResolver.Factory
io.grpc.NameResolverProvider
io.grpc.xds.XdsNameResolverProvider

@Internal public final class XdsNameResolverProvider extends io.grpc.NameResolverProvider
A provider for XdsNameResolver.

It resolves a target URI whose scheme is "xds". The authority of the target URI is never used for current release. The path of the target URI, excluding the leading slash '/', will indicate the name to use in the VHDS query.

This class should not be directly referenced in code. The resolver should be accessed through NameResolverRegistry with the URI scheme "xds".

  • Field Details

  • Constructor Details

    • XdsNameResolverProvider

      public XdsNameResolverProvider()
    • XdsNameResolverProvider

      private XdsNameResolverProvider(String scheme, @Nullable Map<String,?> bootstrapOverride)
  • Method Details

    • createForTest

      public static XdsNameResolverProvider createForTest(String scheme, @Nullable Map<String,?> bootstrapOverride)
      A convenient method to allow creating a XdsNameResolverProvider with custom scheme and bootstrap.
    • newNameResolver

      public XdsNameResolver newNameResolver(URI targetUri, io.grpc.NameResolver.Args args)
      Specified by:
      newNameResolver in class io.grpc.NameResolver.Factory
    • getDefaultScheme

      public String getDefaultScheme()
      Specified by:
      getDefaultScheme in class io.grpc.NameResolver.Factory
    • isAvailable

      protected boolean isAvailable()
      Specified by:
      isAvailable in class io.grpc.NameResolverProvider
    • priority

      protected int priority()
      Specified by:
      priority in class io.grpc.NameResolverProvider
    • getProducedSocketAddressTypes

      public Collection<Class<? extends SocketAddress>> getProducedSocketAddressTypes()
      Overrides:
      getProducedSocketAddressTypes in class io.grpc.NameResolverProvider