{- - ``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