Basic types#
Basic types and utilities.
Data types#
-
type raft_id#
Hold the value of a Raft server ID. Guaranteed to be at least 64-bit long.
-
type raft_term#
Hold the value of a Raft term. Guaranteed to be at least 64-bit long.
-
type raft_index#
Hold the value of a raft entry index. Guaranteed to be at least 64-bit long.
-
type raft_time#
Hold a time value expressed in milliseconds since the epoch.
-
struct raft_buffer#
A data buffer.
struct raft_buffer { void *base; /* Pointer to the buffer data */ size_t len; /* Length of the buffer */ };
-
enum raft_entry_type#
Log entry type codes.
enum raft_entry_type { RAFT_COMMAND = 1, /* Command for the application FSM. */ RAFT_BARRIER, /* Wait for all previous commands to be applied. */ RAFT_CHANGE /* Raft configuration change. */ };
-
struct raft_entry#
A single entry in the raft log.
struct raft_entry { raft_term term; /* Term in which the entry was created */ unsigned short type; /* Type (FSM command, barrier, config change) */ struct raft_buffer buf; /* Entry data */ void *batch; /* Batch that buf's memory points to, if any */ };