diff --git a/balancer/balancer.go b/balancer/balancer.go index 499acbd9..729be8d0 100644 --- a/balancer/balancer.go +++ b/balancer/balancer.go @@ -36,9 +36,12 @@ var ( m = make(map[string]Builder) ) -// Register registers the balancer builder to the balancer map. -// b.Name (lowercased) will be used as the name registered with -// this builder. +// Register registers the balancer builder to the balancer map. b.Name +// (lowercased) will be used as the name registered with this builder. +// +// NOTE: this function must only be called during initialization time (i.e. in +// an init() function), and is not thread-safe. If multiple Balancers are +// registered with the same name, the one registered last will take effect. func Register(b Builder) { m[strings.ToLower(b.Name())] = b } diff --git a/resolver/resolver.go b/resolver/resolver.go index 775ee4d0..6b90dbab 100644 --- a/resolver/resolver.go +++ b/resolver/resolver.go @@ -29,8 +29,12 @@ var ( // TODO(bar) install dns resolver in init(){}. -// Register registers the resolver builder to the resolver map. -// b.Scheme will be used as the scheme registered with this builder. +// Register registers the resolver builder to the resolver map. b.Scheme will be +// used as the scheme registered with this builder. +// +// NOTE: this function must only be called during initialization time (i.e. in +// an init() function), and is not thread-safe. If multiple Resolvers are +// registered with the same name, the one registered last will take effect. func Register(b Builder) { m[b.Scheme()] = b }