Esempio n. 1
0
/**
 * Add this value to the heap.
 * @param item : the item to be added to the heap */
void heap_offer(heap_t * hp, void *item)
{
    assert(hp);
    assert(item);
    if (!item)
	return;

    __ensurecapacity(hp);

    hp->array[hp->count] = item;

    /* ensure heap properties */
    __pushup(hp, hp->count);

    hp->count++;
}
Esempio n. 2
0
int log_append_entry(log_t* me_, raft_entry_t* c)
{
    log_private_t* me = (log_private_t*)me_;

    if (0 == c->id)
        return -1;

    __ensurecapacity(me);

    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++;
    return 0;
}