module IHP.Job.Types.BackoffStrategy
( BackoffStrategy (..)
) where

import IHP.Prelude

data BackoffStrategy
    = LinearBackoff { BackoffStrategy -> Int
delayInSeconds :: !Int }
    | ExponentialBackoff { delayInSeconds :: !Int }
    deriving (BackoffStrategy -> BackoffStrategy -> Bool
(BackoffStrategy -> BackoffStrategy -> Bool)
-> (BackoffStrategy -> BackoffStrategy -> Bool)
-> Eq BackoffStrategy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BackoffStrategy -> BackoffStrategy -> Bool
== :: BackoffStrategy -> BackoffStrategy -> Bool
$c/= :: BackoffStrategy -> BackoffStrategy -> Bool
/= :: BackoffStrategy -> BackoffStrategy -> Bool
Eq, Int -> BackoffStrategy -> ShowS
[BackoffStrategy] -> ShowS
BackoffStrategy -> String
(Int -> BackoffStrategy -> ShowS)
-> (BackoffStrategy -> String)
-> ([BackoffStrategy] -> ShowS)
-> Show BackoffStrategy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BackoffStrategy -> ShowS
showsPrec :: Int -> BackoffStrategy -> ShowS
$cshow :: BackoffStrategy -> String
show :: BackoffStrategy -> String
$cshowList :: [BackoffStrategy] -> ShowS
showList :: [BackoffStrategy] -> ShowS
Show)