| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Raft.Persistent
Synopsis
- class Monad m => RaftPersist m where
- type RaftPersistError m
 - initializePersistentState :: Exception (RaftPersistError m) => m (Either (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 Source #
Provides an interface to read and write the persistent state to disk.
Associated Types
type RaftPersistError m Source #
Methods
initializePersistentState :: Exception (RaftPersistError m) => m (Either (RaftPersistError m) ()) Source #
readPersistentState :: Exception (RaftPersistError m) => m (Either (RaftPersistError m) PersistentState) Source #
writePersistentState :: Exception (RaftPersistError m) => PersistentState -> m (Either (RaftPersistError m) ()) Source #
Instances
data PersistentState Source #
Persistent state that all Raft nodes maintain, regardless of node state.
Constructors
| PersistentState | |
Fields 
  | |
Instances
initPersistentState :: PersistentState Source #
A node initiates its persistent state with term 0 and with its vote blank