38
39
// EnsureDefaults ensures the policy subfields, if not explicitly set, are set to the specified defaults
40
>
func EnsureDefaults(originalPolicy *commonpb.RetryPolicy, defaultSettings DefaultRetrySettings) {
retry_policy.go
41
>
if originalPolicy.GetMaximumAttempts() == 0 {
42
originalPolicy.MaximumAttempts = defaultSettings.MaximumAttempts
43
}
44
45
>
if timestamp.DurationValue(originalPolicy.GetInitialInterval()) == 0 {
retry_policy.go
46
originalPolicy.InitialInterval = durationpb.New(defaultSettings.InitialInterval)
47
}
48
49
>
if timestamp.DurationValue(originalPolicy.GetMaximumInterval()) == 0 {
retry_policy.go
50
originalPolicy.MaximumInterval = durationpb.New(time.Duration(defaultSettings.MaximumIntervalCoefficient) * timestamp.DurationValue(originalPolicy.GetInitialInterval()))
51
}
52
54
originalPolicy.BackoffCoefficient = defaultSettings.BackoffCoefficient
55
}