Package io.grpc.internal
Class ServiceConfigState
java.lang.Object
io.grpc.internal.ServiceConfigState
ServiceConfigState
holds the state of the current service config. It must be mutated
and read from ManagedChannelImpl
constructor or the provided syncContext.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate NameResolver.ConfigOrError
private final NameResolver.ConfigOrError
private final boolean
private boolean
-
Constructor Summary
ConstructorsConstructorDescriptionServiceConfigState
(ManagedChannelServiceConfig defaultServiceConfig, boolean lookUpServiceConfig) Construct new instance. -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
(package private) NameResolver.ConfigOrError
Gets the current service config or error.(package private) boolean
Returnstrue
if it RPCs should wait on a service config resolution.(package private) void
-
Field Details
-
defaultServiceConfig
-
lookUpServiceConfig
private final boolean lookUpServiceConfig -
currentServiceConfigOrError
-
updated
private boolean updated
-
-
Constructor Details
-
ServiceConfigState
ServiceConfigState(@Nullable ManagedChannelServiceConfig defaultServiceConfig, boolean lookUpServiceConfig) Construct new instance.- Parameters:
defaultServiceConfig
- The initial service config, ornull
if absent.lookUpServiceConfig
-true
if service config updates might occur.
-
-
Method Details
-
shouldWaitOnServiceConfig
boolean shouldWaitOnServiceConfig()Returnstrue
if it RPCs should wait on a service config resolution. This can returnfalse
if:- There is a valid service config from the name resolver
- There is a valid default service config and a service config error from the name resolver
- No service config from the name resolver, and no intent to lookup a service config.
In the final case, the default service config may be present or absent, and will be the current service config.
-
getCurrent
Gets the current service config or error.- Throws:
IllegalStateException
- if the service config has not yet been updated.
-
update
-
expectUpdates
boolean expectUpdates()
-