public final class ServiceConfigUtil extends Object
This class contains helper methods to parse service config JSON values into Java types.
Modifier and Type | Class and Description |
---|---|
static class |
ServiceConfigUtil.LbConfig
A LoadBalancingConfig that includes the policy name (the key) and its raw config value (parsed
JSON).
|
Modifier and Type | Method and Description |
---|---|
static String |
getBalancerNameFromXdsConfig(ServiceConfigUtil.LbConfig xdsConfig)
Extracts the loadbalancer name from xds loadbalancer config.
|
static List<ServiceConfigUtil.LbConfig> |
getChildPolicyFromXdsConfig(ServiceConfigUtil.LbConfig xdsConfig)
Extracts list of child policies from xds loadbalancer config.
|
static List<ServiceConfigUtil.LbConfig> |
getFallbackPolicyFromXdsConfig(ServiceConfigUtil.LbConfig xdsConfig)
Extracts list of fallback policies from xds loadbalancer config.
|
static String |
getHealthCheckedServiceName(Map<String,?> serviceConfig)
Fetch the health-checked service name from service config.
|
static List<Map<String,?>> |
getLoadBalancingConfigsFromServiceConfig(Map<String,?> serviceConfig)
Extracts load balancing configs from a service config.
|
static String |
getStickinessMetadataKeyFromServiceConfig(Map<String,?> serviceConfig)
Extracts the stickiness metadata key from a service config, or
null . |
static ServiceConfigUtil.LbConfig |
unwrapLoadBalancingConfig(Map<String,?> lbConfig)
Unwrap a LoadBalancingConfig JSON object into a
ServiceConfigUtil.LbConfig . |
static List<ServiceConfigUtil.LbConfig> |
unwrapLoadBalancingConfigList(List<Map<String,?>> list)
Given a JSON list of LoadBalancingConfigs, and convert it into a list of LbConfig.
|
@Nullable public static String getHealthCheckedServiceName(@Nullable Map<String,?> serviceConfig)
null
if can't find one.public static List<Map<String,?>> getLoadBalancingConfigsFromServiceConfig(Map<String,?> serviceConfig)
public static ServiceConfigUtil.LbConfig unwrapLoadBalancingConfig(Map<String,?> lbConfig)
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.public static List<ServiceConfigUtil.LbConfig> unwrapLoadBalancingConfigList(List<Map<String,?>> list)
public static String getBalancerNameFromXdsConfig(ServiceConfigUtil.LbConfig xdsConfig)
@Nullable public static List<ServiceConfigUtil.LbConfig> getChildPolicyFromXdsConfig(ServiceConfigUtil.LbConfig xdsConfig)
@Nullable public static List<ServiceConfigUtil.LbConfig> getFallbackPolicyFromXdsConfig(ServiceConfigUtil.LbConfig xdsConfig)
Copyright © 2019. All rights reserved.