-- 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.2 module Data.Timeout -- | 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 TimedOut TimedOut :: TimedOut -- | 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 TimedOut instance Typeable TimeoutUnit instance Typeable Timeout instance Eq TimedOut instance Show TimedOut 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 instance Exception TimedOut 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