| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Raft.Handle
Synopsis
- handleEvent :: forall sm v. (RaftStateMachinePure sm v, Show v, Serialize v) => RaftNodeState v -> TransitionEnv sm v -> PersistentState -> Event v -> (RaftNodeState v, PersistentState, [Action sm v], [LogMsg])
 - data RaftHandler ns sm v = RaftHandler {
- handleAppendEntries :: RPCHandler ns sm (AppendEntries v) v
 - handleAppendEntriesResponse :: RPCHandler ns sm AppendEntriesResponse v
 - handleRequestVote :: RPCHandler ns sm RequestVote v
 - handleRequestVoteResponse :: RPCHandler ns sm RequestVoteResponse v
 - handleTimeout :: TimeoutHandler ns sm v
 - handleClientReadRequest :: ClientReqHandler ns ClientReadReq sm v
 - handleClientWriteRequest :: ClientReqHandler ns (ClientWriteReq v) sm v
 
 - followerRaftHandler :: (Show v, Serialize v) => RaftHandler Follower sm v
 - candidateRaftHandler :: (Show v, Serialize v) => RaftHandler Candidate sm v
 - leaderRaftHandler :: (Show v, Serialize v) => RaftHandler Leader sm v
 - mkRaftHandler :: forall ns sm v. (Show v, Serialize v) => NodeState ns v -> RaftHandler ns sm v
 - handleEvent' :: forall ns sm v. (RaftStateMachinePure sm v, Show v, Serialize v) => NodeState ns v -> TransitionEnv sm v -> PersistentState -> Event v -> ((ResultState ns v, [LogMsg]), PersistentState, [Action sm v])
 
Documentation
handleEvent :: forall sm v. (RaftStateMachinePure sm v, Show v, Serialize v) => RaftNodeState v -> TransitionEnv sm v -> PersistentState -> Event v -> (RaftNodeState v, PersistentState, [Action sm v], [LogMsg]) Source #
Main entry point for handling events
data RaftHandler ns sm v Source #
Constructors
| RaftHandler | |
Fields 
  | |
followerRaftHandler :: (Show v, Serialize v) => RaftHandler Follower sm v Source #
candidateRaftHandler :: (Show v, Serialize v) => RaftHandler Candidate sm v Source #
leaderRaftHandler :: (Show v, Serialize v) => RaftHandler Leader sm v Source #
mkRaftHandler :: forall ns sm v. (Show v, Serialize v) => NodeState ns v -> RaftHandler ns sm v Source #
handleEvent' :: forall ns sm v. (RaftStateMachinePure sm v, Show v, Serialize v) => NodeState ns v -> TransitionEnv sm v -> PersistentState -> Event v -> ((ResultState ns v, [LogMsg]), PersistentState, [Action sm v]) Source #