-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | 64-bit timeouts of nanosecond precision -- -- This package provides data types and functions for working with 64-bit -- timeouts of nanosecond precision. @package data-timeout @version 0.1 module Data.Timeout -- | Timeout unit. data TimeoutUnit NanoSecond :: TimeoutUnit MicroSecond :: TimeoutUnit MilliSecond :: TimeoutUnit Second :: TimeoutUnit Minute :: TimeoutUnit Hour :: TimeoutUnit Day :: TimeoutUnit Week :: TimeoutUnit -- | Amount of nanoseconds in a timeout unit. timeoutUnitNanos :: TimeoutUnit -> Word64 -- | Timeout in nanoseconds. newtype Timeout Timeout :: Word64 -> Timeout -- | Convert the given number of timeout units to Timeout. (#) :: Word64 -> TimeoutUnit -> Timeout -- | Extract number of units (rounding up). (#>) :: Timeout -> TimeoutUnit -> Word64 -- | Extract number of units (rounding down). (#<) :: Timeout -> TimeoutUnit -> Word64 -- | Zero timeout. The event in question should occur immediately. instantly :: Timeout instance Typeable TimeoutUnit instance Typeable Timeout instance Eq TimeoutUnit instance Ord TimeoutUnit instance Bounded TimeoutUnit instance Ix TimeoutUnit instance Enum TimeoutUnit instance Eq Timeout instance Ord Timeout instance Bounded Timeout instance Ix Timeout instance Enum Timeout instance Num Timeout instance Real Timeout instance Integral Timeout instance Show Timeout module Control.Concurrent.Timeout -- | A version of timeout that takes Timeout instead of -- number of microseconds. timeout :: MonadBase μ IO => Timeout -> IO α -> μ (Maybe α) -- | A version of threadDelay that takes Timeout instead of -- number of microseconds. threadDelay :: MonadBase μ IO => Timeout -> μ () instance Typeable TimeoutException instance Eq TimeoutException instance Exception TimeoutException instance Show TimeoutException