in exponential/exponential.go [120:135]
func New(options ...Option) (*Backoff, error) {
b := &Backoff{
policy: defaults(),
}
for _, o := range options {
if err := o(b); err != nil {
return nil, err
}
}
if err := b.policy.validate(); err != nil {
return nil, err
}
return b, nil
}