// NewBuilderWithScheme creates a new manual resolver builder with the given // scheme. Every instance of the manual resolver may only ever be used with a // single grpc.ClientConn. Otherwise, bad things will happen. func NewBuilderWithScheme(scheme string) *Resolver { … } type Resolver … // InitialState adds initial state to the resolver so that UpdateState doesn't // need to be explicitly called after Dial. func (r *Resolver) InitialState(s resolver.State) { … } // Build returns itself for Resolver, because it's both a builder and a resolver. func (r *Resolver) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions) (resolver.Resolver, error) { … } // Scheme returns the manual resolver's scheme. func (r *Resolver) Scheme() string { … } // ResolveNow is a noop for Resolver. func (r *Resolver) ResolveNow(o resolver.ResolveNowOptions) { … } // Close is a noop for Resolver. func (r *Resolver) Close() { … } // UpdateState calls CC.UpdateState. func (r *Resolver) UpdateState(s resolver.State) { … } // ReportError calls CC.ReportError. func (r *Resolver) ReportError(err error) { … }