Safe Haskell | None |
---|
- data TimedOut = TimedOut
- data TimeoutUnit
- = NanoSecond
- | MicroSecond
- | MilliSecond
- | Second
- | Minute
- | Hour
- | Day
- | Week
- aTimeoutUnit :: Proxy TimeoutUnit
- timeoutUnitNanos :: TimeoutUnit -> Word64
- newtype Timeout = Timeout Word64
- aTimeout :: Proxy Timeout
- (#) :: Word64 -> TimeoutUnit -> Timeout
- (#>) :: Timeout -> TimeoutUnit -> Word64
- (#<) :: Timeout -> TimeoutUnit -> Word64
- instantly :: Timeout
Documentation
Exception that is raised when an operation times out. Not used by the package itself, it is here so that users don't need to roll their own exception type every time.
data TimeoutUnit Source
Timeout unit.
aTimeoutUnit :: Proxy TimeoutUnitSource
TimeoutUnit
proxy value.
timeoutUnitNanos :: TimeoutUnit -> Word64Source
Amount of nanoseconds in a timeout unit.
Timeout in nanoseconds. The Printable
instance renders timeouts as
series of AmountUnit
tokens, e.g.
toString
(1 #Day
+ 1500 #MilliSecond
) = "1d1s500ms"
The full list of timeout unit abbreviations:
-
NanoSecond
- ns -
MicroSecond
- us -
MilliSecond
- ms -
Second
- s -
Minute
- m -
Hour
- h -
Day
- d -
Week
- w
The Textual
instance accepts this syntax and allows decimal
fractions to be used as amounts:
fmap
toString
(fromStringAs
aTimeout
"1m1.5s0.2us") =Just
"1m1s500ms200ns"
(#>) :: Timeout -> TimeoutUnit -> Word64Source
Extract number of units (rounding up).
(#<) :: Timeout -> TimeoutUnit -> Word64Source
Extract number of units (rounding down).