Source File
passthrough.go
Belonging Package
google.golang.org/grpc/internal/resolver/passthrough
/*
*
* Copyright 2017 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
// Package passthrough implements a pass-through resolver. It sends the target
// name without scheme back to gRPC as resolved address.
package passthrough
import (
)
const scheme = "passthrough"
type passthroughBuilder struct{}
func (*passthroughBuilder) ( resolver.Target, resolver.ClientConn, resolver.BuildOptions) (resolver.Resolver, error) {
if .Endpoint() == "" && .Dialer == nil {
return nil, errors.New("passthrough: received empty target in Build()")
}
:= &passthroughResolver{
target: ,
cc: ,
}
.start()
return , nil
}
func (*passthroughBuilder) () string {
return scheme
}
type passthroughResolver struct {
target resolver.Target
cc resolver.ClientConn
}
func ( *passthroughResolver) () {
.cc.UpdateState(resolver.State{Addresses: []resolver.Address{{Addr: .target.Endpoint()}}})
}
func (*passthroughResolver) ( resolver.ResolveNowOptions) {}
func (*passthroughResolver) () {}
func () {
resolver.Register(&passthroughBuilder{})
}
The pages are generated with Golds v0.4.9. (GOOS=linux GOARCH=amd64)