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
scheduleEventAt :: (ScheduleEvent m t e, Num t) => t -> e -> m EventID
scheduleEventAt t e = do
now <- getCurrentTime
let dt = t now
scheduleEventIn dt e
retryEventAt :: (RetryEvent m t, Num t)
=> t -> m EventID
retryEventAt t = do
now <- getCurrentTime
let dt = t now
retryEventIn dt