|
void | timing_wheel_init (timing_wheel_t *w, u64 current_cpu_time, f64 cpu_clocks_per_second) |
|
static uword | get_level_and_relative_time (timing_wheel_t *w, u64 cpu_time, uword *rtime_result) |
|
static uword | time_index_to_wheel_index (timing_wheel_t *w, uword level_index, u64 ti) |
|
static uword | current_time_wheel_index (timing_wheel_t *w, uword level_index) |
|
static uword | wheel_add (timing_wheel_t *w, word x) |
|
static uword | rtime_to_wheel_index (timing_wheel_t *w, uword level_index, uword rtime) |
|
static clib_error_t * | validate_level (timing_wheel_t *w, uword level_index, uword *n_elts) |
|
void | timing_wheel_validate (timing_wheel_t *w) |
|
static void | free_elt_vector (timing_wheel_t *w, timing_wheel_elt_t *ev) |
|
static timing_wheel_elt_t * | insert_helper (timing_wheel_t *w, uword level_index, uword rtime) |
|
static void | timing_wheel_insert_helper (timing_wheel_t *w, u64 insert_cpu_time, u32 user_data) |
|
static uword | elt_is_deleted (timing_wheel_t *w, u32 user_data) |
|
static timing_wheel_elt_t * | delete_user_data (timing_wheel_elt_t *elts, u32 user_data) |
|
void | timing_wheel_insert (timing_wheel_t *w, u64 insert_cpu_time, u32 user_data) |
|
void | timing_wheel_delete (timing_wheel_t *w, u32 user_data) |
|
u64 | timing_wheel_next_expiring_elt_time (timing_wheel_t *w) |
|
static void | insert_elt (timing_wheel_t *w, timing_wheel_elt_t *e) |
|
static u64 | elt_cpu_time (timing_wheel_t *w, timing_wheel_elt_t *e) |
|
static void | validate_expired_elt (timing_wheel_t *w, timing_wheel_elt_t *e, u64 current_cpu_time) |
|
static u32 * | expire_bin (timing_wheel_t *w, uword level_index, uword wheel_index, u64 advance_cpu_time, u32 *expired_user_data) |
|
static u32 * | advance_cpu_time_base (timing_wheel_t *w, u32 *expired_user_data) |
|
static u32 * | refill_level (timing_wheel_t *w, uword level_index, u64 advance_cpu_time, uword from_wheel_index, uword to_wheel_index, u32 *expired_user_data) |
|
u32 * | timing_wheel_advance (timing_wheel_t *w, u64 advance_cpu_time, u32 *expired_user_data, u64 *next_expiring_element_cpu_time) |
|
u8 * | format_timing_wheel (u8 *s, va_list *va) |
|