Documentation ¶
Overview ¶
Package keys provides functionality required to build RLS request keys.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuilderMap ¶
type BuilderMap map[string]builder
BuilderMap maps from request path to the key builder for that path.
func MakeBuilderMap ¶
func MakeBuilderMap(cfg *rlspb.RouteLookupConfig) (BuilderMap, error)
MakeBuilderMap parses the provided RouteLookupConfig proto and returns a map from paths to key builders.
func (BuilderMap) Equal ¶
func (bm BuilderMap) Equal(am BuilderMap) bool
Equal reports whether bm and am represent equivalent BuilderMaps.
type KeyMap ¶
type KeyMap struct { // Map is the representation of an RLS key as a Go map. This is used when // an actual RLS request is to be sent out on the wire, since the // RouteLookupRequest proto expects a Go map. Map map[string]string // Str is the representation of an RLS key as a string, sorted by keys. // Since the RLS keys are part of the cache key in the request cache // maintained by the RLS balancer, and Go maps cannot be used as keys for // Go maps (the cache is implemented as a map), we need a stringified // version of it. Str string }
KeyMap represents the RLS keys to be used for a request.
Click to show internal directories.
Click to hide internal directories.