tiempo-0.0.1.0: src/Tiempo/Concurrent.hs
module Tiempo.Concurrent (threadDelay, timeout) where
import qualified Control.Concurrent as Concurrent (threadDelay)
import qualified System.Timeout as Timeout (timeout)
import Tiempo (TimeInterval, toMicroSeconds)
-- | Like @Control.Concurrent.threadDelay@ but accepts a
-- @TimeInterval@ as an argument instead of an Int
threadDelay :: TimeInterval -> IO ()
threadDelay = Concurrent.threadDelay . toMicroSeconds
{-# INLINE threadDelay #-}
-- | Like @System.Timeout@ but accepts a @TimeInterval@ as an argument
-- instead of an Int
timeout :: TimeInterval -> IO a -> IO (Maybe a)
timeout = Timeout.timeout . toMicroSeconds
{-# INLINE timeout #-}