Fetch the repository succeeded.
package grpc
import (
"gitee.com/monobytes/gcore/getc"
"gitee.com/monobytes/gcore/gregistry"
"gitee.com/monobytes/gcore/gtransport/grpc/internal/client"
"gitee.com/monobytes/gcore/gtransport/grpc/internal/server"
"google.golang.org/grpc"
)
const (
defaultServerAddr = ":0" // 默认服务器地址
defaultClientPoolSize = 10 // 默认客户端连接池大小
)
const (
defaultServerAddrKey = "etc.transport.grpc.server.addr"
defaultServerKeyFileKey = "etc.transport.grpc.server.keyFile"
defaultServerCertFileKey = "etc.transport.grpc.server.certFile"
defaultClientPoolSizeKey = "etc.transport.grpc.client.poolSize"
defaultClientCertFileKey = "etc.transport.grpc.client.certFile"
defaultClientServerNameKey = "etc.transport.grpc.client.serverName"
)
type Option func(o *options)
type options struct {
server server.Options
client client.Options
}
func defaultOptions() *options {
opts := &options{}
opts.server.Addr = getc.Get(defaultServerAddrKey, defaultServerAddr).String()
opts.server.KeyFile = getc.Get(defaultServerKeyFileKey).String()
opts.server.CertFile = getc.Get(defaultServerCertFileKey).String()
opts.client.CertFile = getc.Get(defaultClientCertFileKey).String()
opts.client.ServerName = getc.Get(defaultClientServerNameKey).String()
return opts
}
// WithServerListenAddr 设置服务器监听地址
func WithServerListenAddr(addr string) Option {
return func(o *options) { o.server.Addr = addr }
}
// WithServerCredentials 设置服务器证书和秘钥
func WithServerCredentials(certFile, keyFile string) Option {
return func(o *options) { o.server.KeyFile, o.server.CertFile = keyFile, certFile }
}
// WithServerOptions 设置服务器选项
func WithServerOptions(opts ...grpc.ServerOption) Option {
return func(o *options) { o.server.ServerOpts = opts }
}
// WithClientCredentials 设置客户端证书和校验域名
func WithClientCredentials(certFile string, serverName string) Option {
return func(o *options) { o.client.CertFile, o.client.ServerName = certFile, serverName }
}
// WithClientDiscovery 设置客户端服务发现组件
func WithClientDiscovery(discovery gregistry.Discovery) Option {
return func(o *options) { o.client.Discovery = discovery }
}
// WithClientDialOptions 设置客户端拨号选项
func WithClientDialOptions(opts ...grpc.DialOption) Option {
return func(o *options) { o.client.DialOpts = opts }
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。