1 Star 1 Fork 0

titan-kit / titan

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
direct.go 1.00 KB
一键复制 编辑 原始数据 按行查看 历史
蝶衣人生 提交于 2021-06-08 08:26 . 统一api语法
package direct
import (
"strings"
"google.golang.org/grpc/resolver"
)
func init() {
resolver.Register(NewDirectBuilder())
}
type directBuilder struct{}
// NewDirectBuilder 创建一个directBuilder,用于工厂直接解析器.
// 示例: direct://<authority>/127.0.0.1:9000,127.0.0.2:9000
func NewDirectBuilder() resolver.Builder {
return &directBuilder{}
}
func (d *directBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions) (resolver.Resolver, error) {
var address []resolver.Address
for _, addr := range strings.Split(target.Endpoint, ",") {
address = append(address, resolver.Address{Addr: addr})
}
cc.UpdateState(resolver.State{
Addresses: address,
})
return newDirectResolver(), nil
}
func (d *directBuilder) Scheme() string {
return "direct"
}
type directResolver struct{}
func newDirectResolver() resolver.Resolver {
return &directResolver{}
}
func (r *directResolver) Close() {
}
func (r *directResolver) ResolveNow(options resolver.ResolveNowOptions) {
}
1
https://gitee.com/titan-kit/titan.git
git@gitee.com:titan-kit/titan.git
titan-kit
titan
titan
v0.0.4

搜索帮助