diff --git a/main.go b/main.go index 3ffe004..b35f856 100644 --- a/main.go +++ b/main.go @@ -44,6 +44,13 @@ type Retry struct { retryAttemptCount int } +func NewRetry(retryAttemptCount int) (Retry, error) { + if retryAttemptCount < 1 { + return Retry{}, errors.New("retry attempt count must be greater than zero") + } + return Retry{retryAttemptCount}, nil +} + func (r Retry) Do(f func() error) (err error) { for i := 0; i < r.retryAttemptCount; i++ { err = f() @@ -275,7 +282,12 @@ func main() { if *v { applicationLogger = log.New(os.Stdout, logPrefix, 0) } - db, err := NewDB(applicationLogger, *dbFilePath, *hashSeed, Retry{3}) + retry, err := NewRetry(3) + if err != nil { + startupLogger.Fatal(err) + return + } + db, err := NewDB(applicationLogger, *dbFilePath, *hashSeed, retry) if err != nil { startupLogger.Fatal(err) return