Package io.grpc.testing.integration
Class RpcBehaviorLoadBalancerProvider
- java.lang.Object
-
- io.grpc.LoadBalancer.Factory
-
- io.grpc.LoadBalancerProvider
-
- io.grpc.testing.integration.RpcBehaviorLoadBalancerProvider
-
public class RpcBehaviorLoadBalancerProvider extends io.grpc.LoadBalancerProviderProvides a xDS interop testLoadBalancerdesigned to work withXdsTestServer. It looks for an "rpc_behavior" field in its configuration and includes the value in the "rpc-behavior" metadata entry that is sent to the server. This will cause the test server to behave in a predefined way. Endpoint picking logic is delegated to the io.grpc.util.RoundRobinLoadBalancer.Initial use case is to prove that a custom load balancer can be configured by the control plane via xDS. An interop test will configure this LB and then verify it has been correctly configured by observing a specific RPC behavior by the server(s).
For more details on what behaviors can be specified, please see: https://github.com/grpc/grpc/blob/master/doc/xds-test-descriptions.md#server
-
-
Constructor Summary
Constructors Constructor Description RpcBehaviorLoadBalancerProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetPolicyName()intgetPriority()booleanisAvailable()io.grpc.LoadBalancernewLoadBalancer(io.grpc.LoadBalancer.Helper helper)io.grpc.NameResolver.ConfigOrErrorparseLoadBalancingPolicyConfig(java.util.Map<java.lang.String,?> rawLoadBalancingPolicyConfig)
-
-
-
Method Detail
-
parseLoadBalancingPolicyConfig
public io.grpc.NameResolver.ConfigOrError parseLoadBalancingPolicyConfig(java.util.Map<java.lang.String,?> rawLoadBalancingPolicyConfig)
- Overrides:
parseLoadBalancingPolicyConfigin classio.grpc.LoadBalancerProvider
-
newLoadBalancer
public io.grpc.LoadBalancer newLoadBalancer(io.grpc.LoadBalancer.Helper helper)
- Specified by:
newLoadBalancerin classio.grpc.LoadBalancer.Factory
-
isAvailable
public boolean isAvailable()
- Specified by:
isAvailablein classio.grpc.LoadBalancerProvider
-
getPriority
public int getPriority()
- Specified by:
getPriorityin classio.grpc.LoadBalancerProvider
-
getPolicyName
public java.lang.String getPolicyName()
- Specified by:
getPolicyNamein classio.grpc.LoadBalancerProvider
-
-