event-monad-0.0.0.2: src/Control/Monad/Event.hs
{-
- ``Control/Monad/Event''
- (c) 2008 Cook, J. MR SSD, Inc.
-}
module Control.Monad.Event
( module Control.Monad.Event
, module Control.Monad.Event.BasicEvents
, module Control.Monad.Event.Classes
, module Control.Monad.EventT
, module Control.Monad.Event.Internal.Types
) where
import Control.Monad.Event.BasicEvents
import Control.Monad.Event.Classes
import Control.Monad.EventT
import Control.Monad.Event.Internal.Types
-- |schedule an event at an absolute time (see 'scheduleEventIn')
scheduleEventAt :: (ScheduleEvent m t e, Num t) => t -> e -> m EventID
scheduleEventAt t e = do
now <- getCurrentTime
let dt = t - now
scheduleEventIn dt e
-- |retry the currently-executing event at an absolute time (see 'retryEventIn')
retryEventAt :: (RetryEvent m t, Num t)
=> t -> m EventID
retryEventAt t = do
now <- getCurrentTime
let dt = t - now
retryEventIn dt