add keepalive for client

pull/199/head
longXboy 5 years ago
parent c6c25d6e1b
commit 636160ed95
  1. 4
      pkg/net/rpc/warden/CHANGELOG.md
  2. 11
      pkg/net/rpc/warden/client.go

@ -1,5 +1,9 @@
### net/rpc/warden ### net/rpc/warden
##### Version 1.1.19
1. 升级grpc至1.22.0
2. client增加keepAlive选项
##### Version 1.1.18 ##### Version 1.1.18
1. 修复resolver过滤导致的子集bug 1. 修复resolver过滤导致的子集bug

@ -37,6 +37,8 @@ var (
Dial: xtime.Duration(time.Second * 10), Dial: xtime.Duration(time.Second * 10),
Timeout: xtime.Duration(time.Millisecond * 250), Timeout: xtime.Duration(time.Millisecond * 250),
Subset: 50, Subset: 50,
KeepAliveInterval: xtime.Duration(time.Second * 60),
KeepAliveTimeout: xtime.Duration(time.Second * 20),
} }
_defaultClient *Client _defaultClient *Client
) )
@ -59,6 +61,9 @@ type ClientConfig struct {
Zone string Zone string
Subset int Subset int
NonBlock bool NonBlock bool
KeepAliveInterval xtime.Duration
KeepAliveTimeout xtime.Duration
KeepAliveWithoutStream bool
} }
// Client is the framework's client side instance, it contains the ctx, opt and interceptors. // Client is the framework's client side instance, it contains the ctx, opt and interceptors.
@ -186,6 +191,12 @@ func (c *Client) SetConfig(conf *ClientConfig) (err error) {
if conf.Subset <= 0 { if conf.Subset <= 0 {
conf.Subset = 50 conf.Subset = 50
} }
if conf.KeepAliveInterval <= 0 {
conf.KeepAliveInterval = xtime.Duration(time.Second * 60)
}
if conf.KeepAliveTimeout <= 0 {
conf.KeepAliveTimeout = xtime.Duration(time.Second * 20)
}
// FIXME(maojian) check Method dial/timeout // FIXME(maojian) check Method dial/timeout
c.mutex.Lock() c.mutex.Lock()

Loading…
Cancel
Save