{-# LANGUAGE RecordWildCards #-}
module Ouroboros.Consensus.BlockchainTime.WallClock.Util (
TraceBlockchainTimeEvent(..)
, SystemClockMovedBackException(..)
) where
import Control.Exception (Exception)
import Data.Time (NominalDiffTime, UTCTime)
import Ouroboros.Consensus.Block
import Ouroboros.Consensus.BlockchainTime.WallClock.Types
(SystemStart)
import Ouroboros.Consensus.HardFork.History (PastHorizonException)
data TraceBlockchainTimeEvent =
TraceStartTimeInTheFuture SystemStart NominalDiffTime
| TraceCurrentSlotUnknown UTCTime PastHorizonException
deriving (Int -> TraceBlockchainTimeEvent -> ShowS
[TraceBlockchainTimeEvent] -> ShowS
TraceBlockchainTimeEvent -> String
(Int -> TraceBlockchainTimeEvent -> ShowS)
-> (TraceBlockchainTimeEvent -> String)
-> ([TraceBlockchainTimeEvent] -> ShowS)
-> Show TraceBlockchainTimeEvent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TraceBlockchainTimeEvent] -> ShowS
$cshowList :: [TraceBlockchainTimeEvent] -> ShowS
show :: TraceBlockchainTimeEvent -> String
$cshow :: TraceBlockchainTimeEvent -> String
showsPrec :: Int -> TraceBlockchainTimeEvent -> ShowS
$cshowsPrec :: Int -> TraceBlockchainTimeEvent -> ShowS
Show)
data SystemClockMovedBackException =
SystemClockMovedBack SlotNo SlotNo
deriving (Int -> SystemClockMovedBackException -> ShowS
[SystemClockMovedBackException] -> ShowS
SystemClockMovedBackException -> String
(Int -> SystemClockMovedBackException -> ShowS)
-> (SystemClockMovedBackException -> String)
-> ([SystemClockMovedBackException] -> ShowS)
-> Show SystemClockMovedBackException
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SystemClockMovedBackException] -> ShowS
$cshowList :: [SystemClockMovedBackException] -> ShowS
show :: SystemClockMovedBackException -> String
$cshow :: SystemClockMovedBackException -> String
showsPrec :: Int -> SystemClockMovedBackException -> ShowS
$cshowsPrec :: Int -> SystemClockMovedBackException -> ShowS
Show)
instance Exception SystemClockMovedBackException