Class ServiceConfigUtil

java.lang.Object
io.grpc.internal.ServiceConfigUtil

public final class ServiceConfigUtil extends Object
Helper utility to work with service configs.

This class contains helper methods to parse service config JSON values into Java types.

  • Method Details

    • getHealthCheckedService

      @Nullable public static Map<String,?> getHealthCheckedService(@Nullable Map<String,?> serviceConfig)
      Fetches the health-checked service config from service config. null if can't find one.
    • getHealthCheckedServiceName

      @Nullable public static String getHealthCheckedServiceName(@Nullable Map<String,?> healthCheckedServiceConfig)
      Fetches the health-checked service name from health-checked service config. null if can't find one.
    • getLoadBalancingConfigsFromServiceConfig

      public static List<Map<String,?>> getLoadBalancingConfigsFromServiceConfig(Map<String,?> serviceConfig)
      Extracts load balancing configs from a service config.
    • unwrapLoadBalancingConfig

      public static ServiceConfigUtil.LbConfig unwrapLoadBalancingConfig(Map<String,?> lbConfig)
      Unwrap a LoadBalancingConfig JSON object into a ServiceConfigUtil.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 List<ServiceConfigUtil.LbConfig> unwrapLoadBalancingConfigList(List<Map<String,?>> list)
      Given a JSON list of LoadBalancingConfigs, and convert it into a list of LbConfig.
    • selectLbPolicyFromList

      public static NameResolver.ConfigOrError selectLbPolicyFromList(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 a ServiceConfigUtil.PolicySelection as its config value.