123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package zrpc
- import (
- "github.com/tal-tech/go-zero/core/discov"
- "github.com/tal-tech/go-zero/core/service"
- "github.com/tal-tech/go-zero/core/stores/redis"
- )
- type (
- RpcServerConf struct {
- service.ServiceConf
- ListenOn string
- Etcd discov.EtcdConf `json:",optional"`
- Auth bool `json:",optional"`
- Redis redis.RedisKeyConf `json:",optional"`
- StrictControl bool `json:",optional"`
- // setting 0 means no timeout
- Timeout int64 `json:",default=2000"`
- CpuThreshold int64 `json:",default=900,range=[0:1000]"`
- }
- RpcClientConf struct {
- Etcd discov.EtcdConf `json:",optional"`
- Endpoints []string `json:",optional=!Etcd"`
- App string `json:",optional"`
- Token string `json:",optional"`
- Timeout int64 `json:",default=2000"`
- }
- )
- func NewDirectClientConf(endpoints []string, app, token string) RpcClientConf {
- return RpcClientConf{
- Endpoints: endpoints,
- App: app,
- Token: token,
- }
- }
- func NewEtcdClientConf(hosts []string, key, app, token string) RpcClientConf {
- return RpcClientConf{
- Etcd: discov.EtcdConf{
- Hosts: hosts,
- Key: key,
- },
- App: app,
- Token: token,
- }
- }
- func (sc RpcServerConf) HasEtcd() bool {
- return len(sc.Etcd.Hosts) > 0 && len(sc.Etcd.Key) > 0
- }
- func (sc RpcServerConf) Validate() error {
- if sc.Auth {
- if err := sc.Redis.Validate(); err != nil {
- return err
- }
- }
- return nil
- }
- func (cc RpcClientConf) HasCredential() bool {
- return len(cc.App) > 0 && len(cc.Token) > 0
- }
|