Commit 8a7b07a0 authored by Willem Thiart's avatar Willem Thiart
Browse files

Add type to raft_entry_t

Breaking change.
parent 077e09bd
...@@ -18,6 +18,14 @@ typedef enum { ...@@ -18,6 +18,14 @@ typedef enum {
RAFT_STATE_LEADER RAFT_STATE_LEADER
} raft_state_e; } raft_state_e;
typedef enum {
RAFT_LOGTYPE_NORMAL,
RAFT_LOGTYPE_ADD_NONVOTING_NODE,
RAFT_LOGTYPE_ADD_NODE,
RAFT_LOGTYPE_REMOVE_NODE,
RAFT_LOGTYPE_NUM,
} raft_logtype_e;
typedef struct typedef struct
{ {
void *buf; void *buf;
...@@ -34,6 +42,9 @@ typedef struct ...@@ -34,6 +42,9 @@ typedef struct
/** the entry's unique ID */ /** the entry's unique ID */
unsigned int id; unsigned int id;
/** type of entry */
int type;
raft_entry_data_t data; raft_entry_data_t data;
} raft_entry_t; } raft_entry_t;
......
...@@ -522,6 +522,7 @@ int raft_recv_entry(raft_server_t* me_, ...@@ -522,6 +522,7 @@ int raft_recv_entry(raft_server_t* me_,
raft_entry_t ety; raft_entry_t ety;
ety.term = me->current_term; ety.term = me->current_term;
ety.id = e->id; ety.id = e->id;
ety.type = e->type;
memcpy(&ety.data, &e->data, sizeof(raft_entry_data_t)); memcpy(&ety.data, &e->data, sizeof(raft_entry_data_t));
raft_append_entry(me_, &ety); raft_append_entry(me_, &ety);
for (i = 0; i < me->num_nodes; i++) for (i = 0; i < me->num_nodes; i++)
...@@ -623,6 +624,7 @@ int raft_send_appendentries(raft_server_t* me_, raft_node_t* node) ...@@ -623,6 +624,7 @@ int raft_send_appendentries(raft_server_t* me_, raft_node_t* node)
{ {
mety.term = ety->term; mety.term = ety->term;
mety.id = ety->id; mety.id = ety->id;
mety.type = ety->type;
mety.data.len = ety->data.len; mety.data.len = ety->data.len;
mety.data.buf = ety->data.buf; mety.data.buf = ety->data.buf;
ae.entries = &mety; ae.entries = &mety;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment