| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Raft.Persistent
Synopsis
- class Monad m => RaftPersist m where
- type RaftPersistError m
- readPersistentState :: Exception (RaftPersistError m) => m (Either (RaftPersistError m) PersistentState)
- writePersistentState :: Exception (RaftPersistError m) => PersistentState -> m (Either (RaftPersistError m) ())
- data PersistentState = PersistentState {
- currentTerm :: Term
- votedFor :: Maybe NodeId
- initPersistentState :: PersistentState
Documentation
class Monad m => RaftPersist m where #
Provides an interface to read and write the persistent state to disk.
Associated Types
type RaftPersistError m #
Methods
readPersistentState :: Exception (RaftPersistError m) => m (Either (RaftPersistError m) PersistentState) #
writePersistentState :: Exception (RaftPersistError m) => PersistentState -> m (Either (RaftPersistError m) ()) #
Instances
| (MonadIO m, MonadConc m) => RaftPersist (RaftFileStoreT m) # | |
Defined in Examples.Raft.FileStore Associated Types type RaftPersistError (RaftFileStoreT m) :: Type # Methods readPersistentState :: RaftFileStoreT m (Either (RaftPersistError (RaftFileStoreT m)) PersistentState) # writePersistentState :: PersistentState -> RaftFileStoreT m (Either (RaftPersistError (RaftFileStoreT m)) ()) # | |
data PersistentState #
Persistent state that all Raft nodes maintain, regardless of node state.
Constructors
| PersistentState | |
Fields
| |
Instances
initPersistentState :: PersistentState #
A node initiates its persistent state with term 0 and with its vote blank