16 lines
405 B
Go
16 lines
405 B
Go
package domain
|
|
|
|
import "fmt"
|
|
|
|
// ResolveTransientRetries selects a nonnegative retry budget. A nil selection
|
|
// inherits the supplied default.
|
|
func ResolveTransientRetries(defaultBudget uint64, selection *int) (uint64, error) {
|
|
if selection == nil {
|
|
return defaultBudget, nil
|
|
}
|
|
if *selection < 0 {
|
|
return 0, fmt.Errorf("transient retries must not be negative")
|
|
}
|
|
return uint64(*selection), nil
|
|
}
|