|
int CV() | clib_cuckoo_search (CVT(clib_cuckoo) *h, CVT(clib_cuckoo_kv) *search_v, CVT(clib_cuckoo_kv) *return_v) |
|
static | CVT (clib_cuckoo_bucket) |
|
static uword CV() | clib_cuckoo_get_nbuckets (CVT(clib_cuckoo) *h) |
|
static uword CV() | clib_cuckoo_elt_in_bucket_to_offset (CVT(clib_cuckoo_bucket) *b, CVT(clib_cuckoo_kv) *e) |
|
u8 *CV() | format_cuckoo_elt (u8 *s, va_list *args) |
|
u8 *CV() | format_cuckoo_bucket (u8 *s, va_list *args) |
|
void CV() | clib_cuckoo_init (CVT(clib_cuckoo) *h, const char *name, uword nbuckets, void(*garbage_callback)(CVT(clib_cuckoo) *, void *), void *garbage_ctx) |
|
void CV() | clib_cuckoo_free (CVT(clib_cuckoo) *h) |
|
static clib_cuckoo_bucket_aux_t CV() | clib_cuckoo_bucket_version_bump_and_lock (CVT(clib_cuckoo_bucket) *b) |
|
static void CV() | clib_cuckoo_bucket_unlock (CVT(clib_cuckoo_bucket) *b, clib_cuckoo_bucket_aux_t aux) |
|
static clib_cuckoo_path_t *CV() | clib_cuckoo_path_get (CVT(clib_cuckoo) *h) |
|
static void CV() | clib_cuckoo_path_put (CVT(clib_cuckoo) *h, uword path_idx) |
|
static clib_cuckoo_path_t *CV() | clib_cuckoo_path_begin (CVT(clib_cuckoo) *h, uword bucket, uword next_offset) |
|
static uword CV() | clib_cuckoo_path_extend (CVT(clib_cuckoo) *h, uword path_idx, uword bucket, unsigned offset) |
| create a new path based on existing path extended by adding a bucket and offset More...
|
|
static uword CV() | clib_cuckoo_path_peek_offset (const clib_cuckoo_path_t *path) |
| return the offset of the last element in the path More...
|
|
static | CVT (clib_cuckoo_kv) |
|
static void | clib_cuckoo_path_walk (CVT(clib_cuckoo) *h, uword path_idx, uword *buckets, uword *offsets) |
| walk the cuckoo path two ways, first backwards, extracting offsets, then forward, extracting buckets More...
|
|
static int CV() | clib_cuckoo_find_empty_slot_bfs (CVT(clib_cuckoo) *h, clib_cuckoo_lookup_info_t *lookup, uword *path_idx_out, uword *found_bucket, CVT(clib_cuckoo_kv) **found_elt) |
|
static void CV() | clib_cuckoo_swap_elts_in_bucket (CVT(clib_cuckoo_bucket) *b, uword e1, uword e2) |
|
static void CV() | clib_cuckoo_bucket_tidy (CVT(clib_cuckoo_bucket) *b) |
|
static void CV() | clib_cuckoo_free_locked_elt (CVT(clib_cuckoo_kv) *elt) |
|
static void CV() | clib_cuckoo_free_elt_in_bucket (CVT(clib_cuckoo_bucket) *b, CVT(clib_cuckoo_kv) *elt) |
|
static void CV() | clib_cuckoo_set_locked_elt (CVT(clib_cuckoo_bucket) *b, CVT(clib_cuckoo_kv) *elt, CVT(clib_cuckoo_kv) *kvp, u8 reduced_hash) |
|
static void CV() | clib_cuckoo_set_elt (CVT(clib_cuckoo_bucket) *b, CVT(clib_cuckoo_kv) *elt, CVT(clib_cuckoo_kv) *kvp, u8 reduced_hash) |
|
static int CV() | clib_cuckoo_add_slow (CVT(clib_cuckoo) *h, CVT(clib_cuckoo_kv) *kvp, clib_cuckoo_lookup_info_t *lookup, u8 reduced_hash) |
|
static int CV() | clib_cuckoo_add_fast (CVT(clib_cuckoo) *h, clib_cuckoo_lookup_info_t *lookup, CVT(clib_cuckoo_kv) *kvp, u8 reduced_hash) |
|
void CV() | clib_cuckoo_garbage_collect (CVT(clib_cuckoo) *h) |
| perform garbage collection More...
|
|
static void CV() | clib_cuckoo_rehash (CVT(clib_cuckoo) *h) |
| expand and rehash a cuckoo hash More...
|
|
static int CV() | clib_cuckoo_bucket_search_internal (CVT(clib_cuckoo) *h, uword bucket, CVT(clib_cuckoo_kv) *kvp, CVT(clib_cuckoo_kv) **found) |
|
int CV() | clib_cuckoo_add_del (CVT(clib_cuckoo) *h, CVT(clib_cuckoo_kv) *kvp, int is_add, int dont_overwrite) |
|
u8 *CV() | format_cuckoo (u8 *s, va_list *args) |
|
float CV() | clib_cuckoo_calculate_load_factor (CVT(clib_cuckoo) *h) |
|