libraft-0.5.0.0: Raft consensus algorithm

Safe HaskellNone
LanguageHaskell2010

Raft.Persistent

Synopsis

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 #

Instances
RaftPersist m => RaftPersist (RaftPostgresT m) Source # 
Instance details

Defined in Raft.Log.PostgreSQL

Associated Types

type RaftPersistError (RaftPostgresT m) :: Type Source #

MonadIO m => RaftPersist (RaftPersistFileStoreT m) Source # 
Instance details

Defined in Examples.Raft.FileStore.Persistent

Associated Types

type RaftPersistError (RaftPersistFileStoreT m) :: Type Source #

RaftPersist m => RaftPersist (RaftLogFileStoreT m) Source # 
Instance details

Defined in Examples.Raft.FileStore.Log

Associated Types

type RaftPersistError (RaftLogFileStoreT m) :: Type Source #

(MonadIO m, RaftPersist m) => RaftPersist (RaftSocketT sm v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Node

Associated Types

type RaftPersistError (RaftSocketT sm v m) :: Type Source #

data PersistentState Source #

Persistent state that all Raft nodes maintain, regardless of node state.

Constructors

PersistentState 

Fields

Instances
Eq PersistentState Source # 
Instance details

Defined in Raft.Persistent

Show PersistentState Source # 
Instance details

Defined in Raft.Persistent

Generic PersistentState Source # 
Instance details

Defined in Raft.Persistent

Associated Types

type Rep PersistentState :: Type -> Type #

Serialize PersistentState Source # 
Instance details

Defined in Raft.Persistent

MonadState PersistentState (TransitionM sm v) Source # 
Instance details

Defined in Raft.Transition

RaftLogger v (RWS (TransitionEnv sm v) [Action sm v] PersistentState) Source # 
Instance details

Defined in Raft.Transition

type Rep PersistentState Source # 
Instance details

Defined in Raft.Persistent

type Rep PersistentState = D1 (MetaData "PersistentState" "Raft.Persistent" "libraft-0.5.0.0-J9sQlo4v2xjSwCkwompQR" False) (C1 (MetaCons "PersistentState" PrefixI True) (S1 (MetaSel (Just "currentTerm") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Term) :*: S1 (MetaSel (Just "votedFor") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe NodeId))))

initPersistentState :: PersistentState Source #

A node initiates its persistent state with term 0 and with its vote blank