-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Synchronize actions to a time pulse
--
-- Please see README.md
@package pulse
@version 0.1.0.0
module Control.Concurrent.Pulse
-- | A heartbeat
data Pulse
-- | Create a new pulse that will send a heartbeat every DiffTime
-- seconds
newPulse :: DiffTime -> IO Pulse
-- | Destroy the pulse. Note that all pending waitForPulse will be
-- left blocked
destroyPulse :: Pulse -> IO ()
-- | Automatically calls newPulse and destroyPulse as needed
withPulse :: DiffTime -> (Pulse -> IO a) -> IO a
-- | Block until the next heartbeat is triggered on the Pulse
waitForPulse :: Pulse -> IO ()