# Functions
BuildEndpointKey will sort the keys in alphabetical order and then retrieve the values in that order.
NewEndpointCache will return a newly initialized cache with a limit of endpointLimit entries.
# Structs
Endpoint represents an endpoint used in endpoint discovery.
EndpointCache is an LRU cache that holds a series of endpoints based on some key.
WeightedAddress represents an address with a given weight.
# Interfaces
Discoverer is an interface used to discovery which endpoint hit.
# Type aliases
WeightedAddresses represents a list of WeightedAddress.