Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype Pid = Pid Word64
- class Process m => Clock m where
- data LamportTime = LamportTime !LocalTime !Pid
- newtype LamportClockSim a = LamportClockSim (State (Map Pid LocalTime) a)
- runLamportClockSim :: LamportClockSim a -> a
- class Monad m => Process m where
- newtype ProcessSim a = ProcessSim (ReaderT Pid LamportClockSim a)
- runProcessSim :: Pid -> ProcessSim a -> LamportClockSim a
Documentation
Unique process identifier
Lamport timestamp (for a single process)
data LamportTime Source #
LamportTime !LocalTime !Pid |
Lamport clock (for a whole multi-process system)
newtype LamportClockSim a Source #
Lamport clock simpulation. Key is Pid
.
Non-present value is equivalent to 0.
LamportClockSim (State (Map Pid LocalTime) a) |
runLamportClockSim :: LamportClockSim a -> a Source #
Process
ProcessSim
newtype ProcessSim a Source #
ProcessSim inside Lamport clock simpulation.
runProcessSim :: Pid -> ProcessSim a -> LamportClockSim a Source #