const Schema … type EtcdManualResolver … func New(endpoints ...string) *EtcdManualResolver { … } // Build returns itself for Resolver, because it's both a builder and a resolver. func (r *EtcdManualResolver) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions) (resolver.Resolver, error) { … } func (r *EtcdManualResolver) SetEndpoints(endpoints []string) { … } func (r EtcdManualResolver) updateState() { … }