Package io.grpc.internal
Class ServiceConfigUtil
- java.lang.Object
-
- io.grpc.internal.ServiceConfigUtil
-
public final class ServiceConfigUtil extends java.lang.ObjectHelper utility to work with service configs.This class contains helper methods to parse service config JSON values into Java types.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classServiceConfigUtil.LbConfigA LoadBalancingConfig that includes the policy name (the key) and its raw config value (parsed JSON).static classServiceConfigUtil.PolicySelection
-
Constructor Summary
Constructors Modifier Constructor Description privateServiceConfigUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static java.lang.DoublegetBackoffMultiplierFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)static java.util.Map<java.lang.String,?>getHealthCheckedService(java.util.Map<java.lang.String,?> serviceConfig)Fetches the health-checked service config from service config.static java.lang.StringgetHealthCheckedServiceName(java.util.Map<java.lang.String,?> healthCheckedServiceConfig)Fetches the health-checked service name from health-checked service config.(package private) static java.lang.LonggetHedgingDelayNanosFromHedgingPolicy(java.util.Map<java.lang.String,?> hedgingPolicy)(package private) static java.util.Map<java.lang.String,?>getHedgingPolicyFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)(package private) static java.lang.LonggetInitialBackoffNanosFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)private static java.util.Set<Status.Code>getListOfStatusCodesAsSet(java.util.Map<java.lang.String,?> obj, java.lang.String key)static java.util.List<java.util.Map<java.lang.String,?>>getLoadBalancingConfigsFromServiceConfig(java.util.Map<java.lang.String,?> serviceConfig)Extracts load balancing configs from a service config.(package private) static java.lang.IntegergetMaxAttemptsFromHedgingPolicy(java.util.Map<java.lang.String,?> hedgingPolicy)(package private) static java.lang.IntegergetMaxAttemptsFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)(package private) static java.lang.LonggetMaxBackoffNanosFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)(package private) static java.lang.IntegergetMaxRequestMessageBytesFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)(package private) static java.lang.IntegergetMaxResponseMessageBytesFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)(package private) static java.util.List<java.util.Map<java.lang.String,?>>getMethodConfigFromServiceConfig(java.util.Map<java.lang.String,?> serviceConfig)(package private) static java.lang.StringgetMethodFromName(java.util.Map<java.lang.String,?> name)(package private) static java.util.List<java.util.Map<java.lang.String,?>>getNameListFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)(package private) static java.util.Set<Status.Code>getNonFatalStatusCodesFromHedgingPolicy(java.util.Map<java.lang.String,?> hedgingPolicy)(package private) static java.lang.LonggetPerAttemptRecvTimeoutNanosFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)(package private) static java.util.Set<Status.Code>getRetryableStatusCodesFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)(package private) static java.util.Map<java.lang.String,?>getRetryPolicyFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)(package private) static java.lang.StringgetServiceFromName(java.util.Map<java.lang.String,?> name)private static java.util.Set<Status.Code>getStatusCodesFromList(java.util.List<?> statuses)(package private) static RetriableStream.ThrottlegetThrottlePolicy(java.util.Map<java.lang.String,?> serviceConfig)(package private) static java.lang.LonggetTimeoutFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)Returns the number of nanoseconds of timeout for the given method config.(package private) static java.lang.BooleangetWaitForReadyFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)static NameResolver.ConfigOrErrorselectLbPolicyFromList(java.util.List<ServiceConfigUtil.LbConfig> lbConfigs, LoadBalancerRegistry lbRegistry)Parses and selects a load balancing policy from a non-empty list of raw configs.static ServiceConfigUtil.LbConfigunwrapLoadBalancingConfig(java.util.Map<java.lang.String,?> lbConfig)Unwrap a LoadBalancingConfig JSON object into aServiceConfigUtil.LbConfig.static java.util.List<ServiceConfigUtil.LbConfig>unwrapLoadBalancingConfigList(java.util.List<java.util.Map<java.lang.String,?>> list)Given a JSON list of LoadBalancingConfigs, and convert it into a list of LbConfig.
-
-
-
Method Detail
-
getHealthCheckedService
@Nullable public static java.util.Map<java.lang.String,?> getHealthCheckedService(@Nullable java.util.Map<java.lang.String,?> serviceConfig)Fetches the health-checked service config from service config.nullif can't find one.
-
getHealthCheckedServiceName
@Nullable public static java.lang.String getHealthCheckedServiceName(@Nullable java.util.Map<java.lang.String,?> healthCheckedServiceConfig)Fetches the health-checked service name from health-checked service config.nullif can't find one.
-
getThrottlePolicy
@Nullable static RetriableStream.Throttle getThrottlePolicy(@Nullable java.util.Map<java.lang.String,?> serviceConfig)
-
getMaxAttemptsFromRetryPolicy
@Nullable static java.lang.Integer getMaxAttemptsFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)
-
getInitialBackoffNanosFromRetryPolicy
@Nullable static java.lang.Long getInitialBackoffNanosFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)
-
getMaxBackoffNanosFromRetryPolicy
@Nullable static java.lang.Long getMaxBackoffNanosFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)
-
getBackoffMultiplierFromRetryPolicy
@Nullable static java.lang.Double getBackoffMultiplierFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)
-
getPerAttemptRecvTimeoutNanosFromRetryPolicy
@Nullable static java.lang.Long getPerAttemptRecvTimeoutNanosFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)
-
getListOfStatusCodesAsSet
private static java.util.Set<Status.Code> getListOfStatusCodesAsSet(java.util.Map<java.lang.String,?> obj, java.lang.String key)
-
getStatusCodesFromList
private static java.util.Set<Status.Code> getStatusCodesFromList(java.util.List<?> statuses)
-
getRetryableStatusCodesFromRetryPolicy
static java.util.Set<Status.Code> getRetryableStatusCodesFromRetryPolicy(java.util.Map<java.lang.String,?> retryPolicy)
-
getMaxAttemptsFromHedgingPolicy
@Nullable static java.lang.Integer getMaxAttemptsFromHedgingPolicy(java.util.Map<java.lang.String,?> hedgingPolicy)
-
getHedgingDelayNanosFromHedgingPolicy
@Nullable static java.lang.Long getHedgingDelayNanosFromHedgingPolicy(java.util.Map<java.lang.String,?> hedgingPolicy)
-
getNonFatalStatusCodesFromHedgingPolicy
static java.util.Set<Status.Code> getNonFatalStatusCodesFromHedgingPolicy(java.util.Map<java.lang.String,?> hedgingPolicy)
-
getServiceFromName
@Nullable static java.lang.String getServiceFromName(java.util.Map<java.lang.String,?> name)
-
getMethodFromName
@Nullable static java.lang.String getMethodFromName(java.util.Map<java.lang.String,?> name)
-
getRetryPolicyFromMethodConfig
@Nullable static java.util.Map<java.lang.String,?> getRetryPolicyFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)
-
getHedgingPolicyFromMethodConfig
@Nullable static java.util.Map<java.lang.String,?> getHedgingPolicyFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)
-
getNameListFromMethodConfig
@Nullable static java.util.List<java.util.Map<java.lang.String,?>> getNameListFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)
-
getTimeoutFromMethodConfig
@Nullable static java.lang.Long getTimeoutFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)
Returns the number of nanoseconds of timeout for the given method config.- Returns:
- duration nanoseconds, or
nullif it isn't present.
-
getWaitForReadyFromMethodConfig
@Nullable static java.lang.Boolean getWaitForReadyFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)
-
getMaxRequestMessageBytesFromMethodConfig
@Nullable static java.lang.Integer getMaxRequestMessageBytesFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)
-
getMaxResponseMessageBytesFromMethodConfig
@Nullable static java.lang.Integer getMaxResponseMessageBytesFromMethodConfig(java.util.Map<java.lang.String,?> methodConfig)
-
getMethodConfigFromServiceConfig
@Nullable static java.util.List<java.util.Map<java.lang.String,?>> getMethodConfigFromServiceConfig(java.util.Map<java.lang.String,?> serviceConfig)
-
getLoadBalancingConfigsFromServiceConfig
public static java.util.List<java.util.Map<java.lang.String,?>> getLoadBalancingConfigsFromServiceConfig(java.util.Map<java.lang.String,?> serviceConfig)
Extracts load balancing configs from a service config.
-
unwrapLoadBalancingConfig
public static ServiceConfigUtil.LbConfig unwrapLoadBalancingConfig(java.util.Map<java.lang.String,?> lbConfig)
Unwrap a LoadBalancingConfig JSON object into aServiceConfigUtil.LbConfig. The input is a JSON object (map) with exactly one entry, where the key is the policy name and the value is a config object for that policy.
-
unwrapLoadBalancingConfigList
public static java.util.List<ServiceConfigUtil.LbConfig> unwrapLoadBalancingConfigList(java.util.List<java.util.Map<java.lang.String,?>> list)
Given a JSON list of LoadBalancingConfigs, and convert it into a list of LbConfig.
-
selectLbPolicyFromList
public static NameResolver.ConfigOrError selectLbPolicyFromList(java.util.List<ServiceConfigUtil.LbConfig> lbConfigs, LoadBalancerRegistry lbRegistry)
Parses and selects a load balancing policy from a non-empty list of raw configs. If selection is successful, the returned ConfigOrError object will include aServiceConfigUtil.PolicySelectionas its config value.
-
-