mirror of
https://github.com/status-im/nim-raft.git
synced 2025-03-03 22:30:39 +00:00
Add more types etc.
This commit is contained in:
parent
6a84a40e70
commit
c2aacbb3c7
@ -77,11 +77,28 @@ type
|
|||||||
# RAFT Node Persistent Storage basic definition
|
# RAFT Node Persistent Storage basic definition
|
||||||
RAFTNodePersistentStorage* = ref object # Should be some kind of Persistent Transactional Store Wrapper
|
RAFTNodePersistentStorage* = ref object # Should be some kind of Persistent Transactional Store Wrapper
|
||||||
|
|
||||||
|
# Basic modules (algos) definitions
|
||||||
|
RAFTConsensusModule* = ref object
|
||||||
|
state_transitions_fsm: fsm # I plan to use nim.fsm https://github.com/ba0f3/fsm.nim
|
||||||
|
raft_node: RAFTNode
|
||||||
|
|
||||||
|
RAFTLogCompactioModule* = ref object
|
||||||
|
raft_node: RAFTNode
|
||||||
|
|
||||||
|
RAFTMembershipChangeModule* = ref object
|
||||||
|
raft_node: RAFTNode
|
||||||
|
|
||||||
# RAFT Node Object definitions
|
# RAFT Node Object definitions
|
||||||
RAFTNode* = object
|
RAFTNode* = object
|
||||||
# Timers definitions goes here
|
# Timers, mutexes definitions go here
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
|
# Modules
|
||||||
|
consensus_module: RAFTConsensusModule
|
||||||
|
log_compaction_module: RAFTLogCompactioModule
|
||||||
|
membership_change_module: RAFTMembershipChangeModule
|
||||||
|
|
||||||
|
# Misc
|
||||||
msg_send_callback: RAFTMessageSendCallback
|
msg_send_callback: RAFTMessageSendCallback
|
||||||
persistent_storage: RAFTNodePersistentStorage
|
persistent_storage: RAFTNodePersistentStorage
|
||||||
|
|
||||||
@ -106,13 +123,3 @@ type
|
|||||||
# (initialized to leader last log index + 1)
|
# (initialized to leader last log index + 1)
|
||||||
match_index: seq[RAFTLogIndex] # For each peer RAFT Node, index of highest log entry known to be replicated on Node
|
match_index: seq[RAFTLogIndex] # For each peer RAFT Node, index of highest log entry known to be replicated on Node
|
||||||
# (initialized to 0, increases monotonically)
|
# (initialized to 0, increases monotonically)
|
||||||
|
|
||||||
RAFTConsensusModule* = ref object
|
|
||||||
state_transitions_fsm: fsm # I plan to use nim.fsm https://github.com/ba0f3/fsm.nim
|
|
||||||
raft_node: RAFTNode
|
|
||||||
|
|
||||||
RAFTLogCompactioModule* = ref object
|
|
||||||
raft_node: RAFTNode
|
|
||||||
|
|
||||||
RAFTMembershipChangeModule* = ref object
|
|
||||||
raft_node: RAFTNode
|
|
Loading…
x
Reference in New Issue
Block a user