struct raft_fsm
— Application state machine¶
The FSM struct defines the interface that the application’s state machine must implement in order to be replicated by Raft.
Data types¶
- struct raft_fsm
Hold pointers to an actual implementation of the FSM interface.
Public members¶
-
void *data¶
Space for user-defined arbitrary data. C-Raft does not use and does not touch this field.
-
int version¶
API version implemented by this instance. Currently 1.
-
int (*apply)(struct raft_fsm *fsm, const struct raft_buffer *buf, void **result)¶
Apply a committed RAFT_COMMAND entry to the state machine.
-
int (*snapshot)(struct raft_fsm *fsm, struct raft_buffer *bufs[], unsigned *n_bufs)¶
Take a snapshot of the state machine.
-
int (*restore)(struct raft_fsm *fsm, struct raft_buffer *buf)¶
Restore a snapshot of the state machine.