func WithClientRetryPerRetryTimeout(timeout time.Duration) CallOption {
	return CallOption{applyFunc: func(o *retryOptions) {
		o.perCallTimeout = timeout
	}}
}
// WithClientRetryPerRetryTimeout sets the RPC timeout per call (including initial call) on this call, or this interceptor.
//
// The context.Deadline of the call takes precedence and sets the maximum time the whole invocation
// will take, but WithPerRetryTimeout can be used to limit the RPC time per each call.
//
// For example, with context.Deadline = now + 10s, and WithPerRetryTimeout(3 * time.Seconds), each
// of the retry calls (including the initial one) will have a deadline of now + 3s.
//
// A value of 0 disables the timeout overrides completely and returns to each retry call using the
// parent `context.Deadline`.
//
// Note that when this is enabled, any DeadlineExceeded errors that are propagated up will be retried.
WithClientRetryPerRetryTimeout sets the RPC timeout per call (including initial call) on this call, or this interceptor.

The context.Deadline of the call takes precedence and sets the maximum time the whole invocation
will take, but WithPerRetryTimeout can be used to limit the RPC time per each call.

For example, with context.Deadline = now + 10s, and WithPerRetryTimeout(3 * time.Seconds), each
of the retry calls (including the initial one) will have a deadline of now + 3s.

A value of 0 disables the timeout overrides completely and returns to each retry call using the
parent `context.Deadline`.

Note that when this is enabled, any DeadlineExceeded errors that are propagated up will be retried.
// WithClientRetryPerRetryTimeout sets the RPC timeout per call ( including initial call ) on this call or this interceptor . // // The context . Deadline of the call takes precedence and sets the maximum time the whole invocation // will take but WithPerRetryTimeout can be used to limit the RPC time per each call . // // For example with context . Deadline = now + 10s and WithPerRetryTimeout ( 3 * time . Seconds ) each // of the retry calls ( including the initial one ) will have a deadline of now + 3s . // // A value of 0 disables the timeout overrides completely and returns to each retry call using the // parent ` context . Deadline ` . // // Note that when this is enabled any DeadlineExceeded errors that are propagated up will be retried .
func WithClientRetryPerRetryTimeout(timeout time.Duration) CallOption {
	return CallOption{applyFunc: func(o *retryOptions) {
		o.perCallTimeout = timeout
	}}
}
func WithClientRetryPerRetryTimeout ( timeout time . Duration ) CallOption { return CallOption { applyFunc : func ( o * retryOptions ) { o . perCallTimeout = timeout } } }
WithClientRetryPerRetryTimeout sets the RPC timeout per call (including initial call) on this call, or this interceptor.
WithClientRetryPerRetryTimeout sets the RPC timeout per call ( including initial call ) on this call or this interceptor .