prevent negative timeout settings (#482)
* prevent negative timeout settings * fix misleading comment
This commit is contained in:
@@ -14,8 +14,7 @@ type (
|
||||
Auth bool `json:",optional"`
|
||||
Redis redis.RedisKeyConf `json:",optional"`
|
||||
StrictControl bool `json:",optional"`
|
||||
// pending forever is not allowed
|
||||
// never set it to 0, if zero, the underlying will set to 2s automatically
|
||||
// setting 0 means no timeout
|
||||
Timeout int64 `json:",default=2000"`
|
||||
CpuThreshold int64 `json:",default=900,range=[0:1000]"`
|
||||
}
|
||||
|
||||
@@ -11,9 +11,10 @@ import (
|
||||
func TimeoutInterceptor(timeout time.Duration) grpc.UnaryClientInterceptor {
|
||||
return func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn,
|
||||
invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
|
||||
if timeout == 0 {
|
||||
if timeout <= 0 {
|
||||
return invoker(ctx, method, req, reply, cc, opts...)
|
||||
}
|
||||
|
||||
ctx, cancel := contextx.ShrinkDeadline(ctx, timeout)
|
||||
defer cancel()
|
||||
return invoker(ctx, method, req, reply, cc, opts...)
|
||||
|
||||
Reference in New Issue
Block a user