| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
RON.Epoch
Synopsis
- data EpochClock a
- decode :: Word60 -> UTCTime
- encode :: POSIXTime -> Word60
- epochTimeFromUnix :: Word64 -> Word60
- getCurrentEpochTime :: IO Word60
- runEpochClock :: Replica -> IORef Word60 -> EpochClock a -> IO a
- runEpochClockFromCurrentTime :: Replica -> EpochClock a -> IO a
Documentation
data EpochClock a Source #
Real epoch clock. Uses kind of global variable to ensure strict monotonicity.
Instances
| Monad EpochClock Source # | |
Defined in RON.Epoch Methods (>>=) :: EpochClock a -> (a -> EpochClock b) -> EpochClock b # (>>) :: EpochClock a -> EpochClock b -> EpochClock b # return :: a -> EpochClock a # | |
| Functor EpochClock Source # | |
Defined in RON.Epoch Methods fmap :: (a -> b) -> EpochClock a -> EpochClock b # (<$) :: a -> EpochClock b -> EpochClock a # | |
| Applicative EpochClock Source # | |
Defined in RON.Epoch Methods pure :: a -> EpochClock a # (<*>) :: EpochClock (a -> b) -> EpochClock a -> EpochClock b # liftA2 :: (a -> b -> c) -> EpochClock a -> EpochClock b -> EpochClock c # (*>) :: EpochClock a -> EpochClock b -> EpochClock b # (<*) :: EpochClock a -> EpochClock b -> EpochClock a # | |
| MonadIO EpochClock Source # | |
Defined in RON.Epoch Methods liftIO :: IO a -> EpochClock a # | |
| ReplicaClock EpochClock Source # | |
epochTimeFromUnix :: Word64 -> Word60 Source #
Convert unix time in hundreds of milliseconds to RFC 4122 time.
getCurrentEpochTime :: IO Word60 Source #
Get current time in Time format (with 100 ns resolution). Monotonicity is not guaranteed.
runEpochClock :: Replica -> IORef Word60 -> EpochClock a -> IO a Source #
Run EpochClock action with explicit time variable.
runEpochClockFromCurrentTime :: Replica -> EpochClock a -> IO a Source #
Like runEpochClock, but initialize time variable with current wall time.