package clusterspecifier
import "google.golang.org/grpc/xds/internal/clusterspecifier"
Package clusterspecifier contains the ClusterSpecifier interface and a registry for storing and retrieving their implementations.
Index ¶
Functions ¶
func Register ¶
func Register(cs ClusterSpecifier)
Register registers the ClusterSpecifierPlugin to the ClusterSpecifier map. cs.TypeURLs() will be used as the types for this ClusterSpecifierPlugin.
NOTE: this function must only be called during initialization time (i.e. in an init() function), and is not thread-safe. If multiple cluster specifier plugins are registered with the same type URL, the one registered last will take effect.
Types ¶
type BalancerConfig ¶
type BalancerConfig []map[string]interface{}
BalancerConfig is the Go Native JSON representation of a balancer configuration.
type ClusterSpecifier ¶
type ClusterSpecifier interface { // TypeURLs are the proto message types supported by this // ClusterSpecifierPlugin. A ClusterSpecifierPlugin will be registered by // each of its supported message types. TypeURLs() []string // ParseClusterSpecifierConfig parses the provided configuration // proto.Message from the top level RDS configuration. The resulting // BalancerConfig will be used as configuration for a child LB Policy of the // Cluster Manager LB Policy. ParseClusterSpecifierConfig(proto.Message) (BalancerConfig, error) }
ClusterSpecifier defines the parsing functionality of a Cluster Specifier.
func Get ¶
func Get(typeURL string) ClusterSpecifier
Get returns the ClusterSpecifier registered with typeURL.
If no cluster specifier is registered with typeURL, nil will be returned.
Source Files ¶
cluster_specifier.go
- Version
- v1.43.0
- Published
- Dec 14, 2021
- Platform
- linux/amd64
- Imports
- 1 packages
- Last checked
- 2 minutes ago –
Tools for package owners.