Package io.grpc.xds

Class 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 Detail

      • scheme

        private final java.lang.String scheme
      • bootstrapOverride

        private final java.util.Map<java.lang.String,​?> bootstrapOverride
    • Constructor Detail

      • XdsNameResolverProvider

        public XdsNameResolverProvider()
      • XdsNameResolverProvider

        private XdsNameResolverProvider​(java.lang.String scheme,
                                        @Nullable
                                        java.util.Map<java.lang.String,​?> bootstrapOverride)
    • Method Detail

      • createForTest

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

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

        public java.lang.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 java.util.Collection<java.lang.Class<? extends java.net.SocketAddress>> getProducedSocketAddressTypes()
        Overrides:
        getProducedSocketAddressTypes in class io.grpc.NameResolverProvider