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 singletonXdsClientinstance to be used by all gRPC clients in the process.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classSharedXdsClientPoolProvider.RefCountedXdsClientObjectPoolprivate static classSharedXdsClientPoolProvider.SharedXdsClientPoolProviderHolder
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicReference<java.util.Map<java.lang.String,?>>bootstrapOverrideprivate Bootstrapperbootstrapperprivate java.lang.Objectlockprivate static java.util.logging.Loggerlogprivate static booleanLOG_XDS_NODE_IDprivate 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 SharedXdsClientPoolProvidergetDefaultProvider()io.grpc.internal.ObjectPool<XdsClient>getOrCreate(java.lang.String target)com.google.common.collect.ImmutableList<java.lang.String>getTargets()voidsetBootstrapOverride(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:
setBootstrapOverridein interfaceXdsClientPoolFactory
-
get
@Nullable public io.grpc.internal.ObjectPool<XdsClient> get(java.lang.String target)
- Specified by:
getin interfaceXdsClientPoolFactory
-
getOrCreate
public io.grpc.internal.ObjectPool<XdsClient> getOrCreate(java.lang.String target) throws XdsInitializationException
- Specified by:
getOrCreatein interfaceXdsClientPoolFactory- Throws:
XdsInitializationException
-
getTargets
public com.google.common.collect.ImmutableList<java.lang.String> getTargets()
- Specified by:
getTargetsin interfaceXdsClientPoolFactory
-
-