Commit 8405f29e authored by Willem Thiart's avatar Willem Thiart
Browse files

Pass entry index into log event callback

parent 1dbe5faf
......@@ -194,13 +194,15 @@ typedef int (
* @param raft The Raft server making this callback
* @param udata User data that is passed from Raft server
* @param entry The entry that the event is happening to
* @param entry_idx The entries index in the log
* @return 0 on success */
typedef int (
*func_logentry_event_f
) (
raft_server_t* raft,
void *udata,
raft_entry_t *entry
raft_entry_t *entry,
int entry_idx
);
typedef struct
......
......@@ -50,7 +50,7 @@ static void __ensurecapacity(log_private_t * me)
if (me->count < me->size)
return;
temp = (raft_entry_t*) calloc(1, sizeof(raft_entry_t) * me->size * 2);
temp = (raft_entry_t*)calloc(1, sizeof(raft_entry_t) * me->size * 2);
for (i = 0, j = me->front; i < me->count; i++, j++)
{
......@@ -70,11 +70,11 @@ static void __ensurecapacity(log_private_t * me)
log_t* log_new()
{
log_private_t* me = (log_private_t*) calloc(1, sizeof(log_private_t));
log_private_t* me = (log_private_t*)calloc(1, sizeof(log_private_t));
me->size = INITIAL_CAPACITY;
me->count = 0;
me->back = in(me)->front = 0;
me->entries = (raft_entry_t*) calloc(1, sizeof(raft_entry_t) * me->size);
me->entries = (raft_entry_t*)calloc(1, sizeof(raft_entry_t) * me->size);
return (log_t*)me;
}
......@@ -97,10 +97,10 @@ int log_append_entry(log_t* me_, raft_entry_t* c)
memcpy(&me->entries[me->back], c, sizeof(raft_entry_t));
me->entries[me->back].num_nodes = 0;
if (me->cb && me->cb->log_offer)
me->cb->log_offer(me->raft, raft_get_udata(me->raft), c, me->back);
me->count++;
me->back++;
if (me->cb && me->cb->log_offer)
me->cb->log_offer(me->raft, raft_get_udata(me->raft), c);
return 0;
}
......@@ -138,7 +138,8 @@ void log_delete(log_t* me_, int idx)
for (end = log_count(me_); idx < end; idx++)
{
if (me->cb && me->cb->log_pop)
me->cb->log_pop(me->raft, raft_get_udata(me->raft), &me->entries[me->back]);
me->cb->log_pop(me->raft, raft_get_udata(me->raft),
&me->entries[me->back], me->back);
me->back--;
me->count--;
}
......@@ -153,7 +154,8 @@ void *log_poll(log_t * me_)
const void *elem = &me->entries[me->front];
if (me->cb && me->cb->log_poll)
me->cb->log_poll(me->raft, raft_get_udata(me->raft), &me->entries[me->front]);
me->cb->log_poll(me->raft, raft_get_udata(me->raft),
&me->entries[me->front], me->front);
me->front++;
me->count--;
me->base_log_idx++;
......
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