/* Poison free elements so we never use them by mistake. */
if (CLIB_DEBUG > 0)
clib_memset (ev, ~0, vec_len (ev) * sizeof (ev[0]));
- _vec_len (ev) = 0;
+ vec_set_len (ev, 0);
vec_add1 (w->free_elt_vectors, ev);
}
/* Delete elts with given user data so that stale events don't expire. */
vec_foreach (l, w->levels)
{
- /* *INDENT-OFF* */
clib_bitmap_foreach (wi, l->occupancy_bitmap) {
l->elts[wi] = delete_user_data (l->elts[wi], user_data);
if (vec_len (l->elts[wi]) == 0)
l->occupancy_bitmap = clib_bitmap_andnoti (l->occupancy_bitmap, wi);
}
- /* *INDENT-ON* */
}
{
timing_wheel_overflow_elt_t *oe;
- /* *INDENT-OFF* */
pool_foreach (oe, w->overflow_pool) {
if (oe->user_data == user_data)
pool_put (w->overflow_pool, oe);
}
- /* *INDENT-ON* */
}
hash_unset (w->deleted_user_data_hash, user_data);
if (min_dt != ~0)
min_t = w->cpu_time_base + min_dt;
- /* *INDENT-OFF* */
pool_foreach (oe, w->overflow_pool)
{ min_t = clib_min (min_t, oe->cpu_time); }
- /* *INDENT-ON* */
done:
return min_t;
/* Adjust for deleted elts. */
if (j < e_len)
- _vec_len (expired_user_data) -= e_len - j;
+ vec_dec_len (expired_user_data, e_len - j);
free_elt_vector (w, e);
vec_foreach (l, w->levels)
{
uword wi;
- /* *INDENT-OFF* */
clib_bitmap_foreach (wi, l->occupancy_bitmap) {
vec_foreach (e, l->elts[wi])
{
e->cpu_time_relative_to_base -= delta;
}
}
- /* *INDENT-ON* */
}
/* See which overflow elements fit now. */
{
timing_wheel_overflow_elt_t *oe;
- /* *INDENT-OFF* */
pool_foreach (oe, w->overflow_pool) {
/* It fits now into 32 bits. */
if (0 == ((oe->cpu_time - w->cpu_time_base) >> BITS (e->cpu_time_relative_to_base)))
pool_put (w->overflow_pool, oe);
}
}
- /* *INDENT-ON* */
}
return expired_user_data;
}
if (PREDICT_FALSE (current_ti != advance_ti))
{
if (w->unexpired_elts_pending_insert)
- _vec_len (w->unexpired_elts_pending_insert) = 0;
+ vec_set_len (w->unexpired_elts_pending_insert, 0);
level_index = 0;
while (current_ti != advance_ti)
break;
level = vec_elt_at_index (w->levels, level_index);
- /* *INDENT-OFF* */
clib_bitmap_foreach (wi, level->occupancy_bitmap) {
expired_user_data = expire_bin (w, level_index, wi, advance_cpu_time,
expired_user_data);
}
- /* *INDENT-ON* */
}
if (PREDICT_TRUE (level_index < vec_len (w->levels)))
{
timing_wheel_elt_t *e;
vec_foreach (e, w->unexpired_elts_pending_insert) insert_elt (w, e);
- _vec_len (w->unexpired_elts_pending_insert) = 0;
+ vec_set_len (w->unexpired_elts_pending_insert, 0);
}
/* Don't advance until necessary. */