Package io.grpc.rls
package io.grpc.rls
-
ClassDescriptionImplementation of
Throttler
that keeps track of recent history (the duration of which is specified to the constructor) and throttles requests at the client side based on the number of requests that the backend has accepted and the total number of requests generated.Builder forAdaptiveThrottler
.Holds the data for each slot (amount and end timestamp).A CachingRlsLbClient is a core implementation of RLS loadbalancer supports dynamic request routing by fetching the decision from route lookup server.When anyCachingRlsLbClient.CacheEntry
is evicted fromLruCache
, it performsCachingRlsLbClient.CacheEntry.cleanup()
after originalLruCache.EvictionListener
is finished.Implementation ofCachingRlsLbClient.CacheEntry
contains error.A Builder forCachingRlsLbClient
.Viewer class for cachedRlsProtoData.RouteLookupResponse
and associatedLbPolicyConfiguration.ChildPolicyWrapper
.Common cache entry data forCachingRlsLbClient.RlsAsyncLruCache
.A Throttler never throttles.A pending cache entry when the async RouteLookup RPC is still on the fly.Implementation ofLinkedHashLruCache
for RLS.Factory to createLoadBalancer.ResolvedAddresses
from child load-balancers.A delegatingLoadBalancer.Helper
for the child load blanacer.Configuration for RLS load balancing policy.Listener for child lb status change events.ChildLoadBalancingPolicy is an elected child policy to delegate requests.ChildPolicyWrapper is a wrapper class for child load balancing policy with associated helper / utility classes to manage the child policy.Exception thrown when attempting to parse child policy encountered parsing issue.Factory forLbPolicyConfiguration.ChildPolicyWrapper
.LinkedHashLruCache<K,V> A LinkedHashLruCache implements least recently used caching where it supports access order lru cache eviction while allowing entry level expiration time.LruCache<K,V> An LruCache is a cache with least recently used eviction.A Listener notifies cache eviction events.Type of cache eviction.A factory to createLoadBalancer.ResolvedAddresses
.Implementation ofLoadBalancer
backed by route lookup service.ProvidesCachingRlsLbClient.Builder
with default settings.The provider for the "rls_experimental" balancing policy.RlsProtoConverters is a collection ofConverter
between RouteLookupService proto / json messages to internal representation inRlsProtoData
.RouteLookupConfigConverter converts between json map toRlsProtoData.RouteLookupConfig
.RouteLookupRequestConverter converts betweenRouteLookupRequest
andRlsProtoData.RouteLookupRequest
.RouteLookupResponseConverter converts betweenRouteLookupResponse
andRlsProtoData.RouteLookupResponse
.RlsProtoData is a collection of internal representation of RouteLookupService proto messages.GrpcKeyBuilder is a configuration to construct headers consumed by route lookup service.Name represents a method for a given service.NameMatcher extract a key based on a given name (e.g.A config object for gRPC RouteLookupService.A request object sent to route lookup service.A response from route lookup service.A RlsRequestFactory createsRlsProtoData.RouteLookupRequest
using key builder map fromRlsProtoData.RouteLookupConfig
.SubchannelStateManager managesConnectivityState
of child subchannels.Implementation ofSubchannelStateManager
.A strategy for deciding when to throttle requests at the client.