Package io.grpc.xds
Class SharedXdsClientPoolProvider
- java.lang.Object
-
- io.grpc.xds.SharedXdsClientPoolProvider
-
- All Implemented Interfaces:
XdsClientPoolFactory
@ThreadSafe final class SharedXdsClientPoolProvider extends java.lang.Object implements XdsClientPoolFactory
The global factory for creating a singletonXdsClient
instance to be used by all gRPC clients in the process.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
SharedXdsClientPoolProvider.RefCountedXdsClientObjectPool
private static class
SharedXdsClientPoolProvider.SharedXdsClientPoolProviderHolder
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,?>>
bootstrapOverride
private Bootstrapper
bootstrapper
private java.lang.Object
lock
private static java.util.logging.Logger
log
private static boolean
LOG_XDS_NODE_ID
private java.util.Map<java.lang.String,io.grpc.internal.ObjectPool<XdsClient>>
targetToXdsClientMap
-
Constructor Summary
Constructors Constructor Description SharedXdsClientPoolProvider()
SharedXdsClientPoolProvider(Bootstrapper bootstrapper)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description io.grpc.internal.ObjectPool<XdsClient>
get(java.lang.String target)
(package private) static SharedXdsClientPoolProvider
getDefaultProvider()
io.grpc.internal.ObjectPool<XdsClient>
getOrCreate(java.lang.String target)
com.google.common.collect.ImmutableList<java.lang.String>
getTargets()
void
setBootstrapOverride(java.util.Map<java.lang.String,?> bootstrap)
-
-
-
Field Detail
-
LOG_XDS_NODE_ID
private static final boolean LOG_XDS_NODE_ID
-
log
private static final java.util.logging.Logger log
-
bootstrapper
private final Bootstrapper bootstrapper
-
lock
private final java.lang.Object lock
-
bootstrapOverride
private final java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,?>> bootstrapOverride
-
targetToXdsClientMap
private final java.util.Map<java.lang.String,io.grpc.internal.ObjectPool<XdsClient>> targetToXdsClientMap
-
-
Constructor Detail
-
SharedXdsClientPoolProvider
SharedXdsClientPoolProvider()
-
SharedXdsClientPoolProvider
SharedXdsClientPoolProvider(Bootstrapper bootstrapper)
-
-
Method Detail
-
getDefaultProvider
static SharedXdsClientPoolProvider getDefaultProvider()
-
setBootstrapOverride
public void setBootstrapOverride(java.util.Map<java.lang.String,?> bootstrap)
- Specified by:
setBootstrapOverride
in interfaceXdsClientPoolFactory
-
get
@Nullable public io.grpc.internal.ObjectPool<XdsClient> get(java.lang.String target)
- Specified by:
get
in interfaceXdsClientPoolFactory
-
getOrCreate
public io.grpc.internal.ObjectPool<XdsClient> getOrCreate(java.lang.String target) throws XdsInitializationException
- Specified by:
getOrCreate
in interfaceXdsClientPoolFactory
- Throws:
XdsInitializationException
-
getTargets
public com.google.common.collect.ImmutableList<java.lang.String> getTargets()
- Specified by:
getTargets
in interfaceXdsClientPoolFactory
-
-