15 #ifndef included_clib_timing_wheel_h 16 #define included_clib_timing_wheel_h 117 u64 current_cpu_time,
f64 cpu_clocks_per_second);
129 u64 * min_next_expiring_element_cpu_time);
timing_wheel_overflow_elt_t * overflow_pool
u64 cached_min_cpu_time_on_wheel
void timing_wheel_delete(timing_wheel_t *w, u32 user_data)
timing_wheel_stats_t stats
format_function_t format_timing_wheel
u64 timing_wheel_next_expiring_elt_time(timing_wheel_t *w)
void timing_wheel_validate(timing_wheel_t *w)
timing_wheel_elt_t ** free_elt_vectors
void timing_wheel_insert(timing_wheel_t *w, u64 insert_cpu_time, u32 user_data)
timing_wheel_elt_t ** elts
timing_wheel_elt_t * unexpired_elts_pending_insert
uword * deleted_user_data_hash
u64 time_index_next_cpu_time_base_update
void timing_wheel_init(timing_wheel_t *w, u64 current_cpu_time, f64 cpu_clocks_per_second)
timing_wheel_level_t * levels
u32 * timing_wheel_advance(timing_wheel_t *w, u64 advance_cpu_time, u32 *expired_user_data, u64 *min_next_expiring_element_cpu_time)
u64 cpu_time_base_advances
u32 cpu_time_relative_to_base