diff --git a/zrpc/config.go b/zrpc/config.go index e3edcaf3..3448301b 100644 --- a/zrpc/config.go +++ b/zrpc/config.go @@ -25,7 +25,7 @@ type ( Endpoints []string `json:",optional=!Etcd"` App string `json:",optional"` Token string `json:",optional"` - Timeout int64 `json:",optional"` + Timeout int64 `json:",default=2000"` } ) diff --git a/zrpc/internal/clientinterceptors/timeoutinterceptor.go b/zrpc/internal/clientinterceptors/timeoutinterceptor.go index 2a79de49..4b9800c4 100644 --- a/zrpc/internal/clientinterceptors/timeoutinterceptor.go +++ b/zrpc/internal/clientinterceptors/timeoutinterceptor.go @@ -8,15 +8,12 @@ import ( "google.golang.org/grpc" ) -const defaultTimeout = time.Second * 2 - func TimeoutInterceptor(timeout time.Duration) grpc.UnaryClientInterceptor { - if timeout <= 0 { - timeout = defaultTimeout - } - return func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error { + 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...)