lruhash
struct lruhash* table = slabhash_gettable(&r->table, hash);
bin_split(struct lruhash* table, struct lruhash_bin* newa,
lruhash_delete(struct lruhash* table)
reclaim_space(struct lruhash* table, struct lruhash_entry** list)
bin_find_entry(struct lruhash* table,
table_grow(struct lruhash* table)
lru_front(struct lruhash* table, struct lruhash_entry* entry)
lru_remove(struct lruhash* table, struct lruhash_entry* entry)
lru_touch(struct lruhash* table, struct lruhash_entry* entry)
lruhash_insert(struct lruhash* table, hashvalue_type hash,
lruhash_lookup(struct lruhash* table, hashvalue_type hash, void* key, int wr)
lruhash_remove(struct lruhash* table, hashvalue_type hash, void* key)
bin_clear(struct lruhash* table, struct lruhash_bin* bin)
lruhash_clear(struct lruhash* table)
lruhash_status(struct lruhash* table, const char* id, int extended)
lruhash_get_mem(struct lruhash* table)
s = sizeof(struct lruhash) + table->space_used;
lruhash_setmarkdel(struct lruhash* table, lruhash_markdelfunc_type md)
lruhash_update_space_used(struct lruhash* table, void* cb_arg, int diff_size)
void lruhash_update_space_max(struct lruhash* table, void* cb_arg, size_t max)
lruhash_traverse(struct lruhash* h, int wr,
struct lruhash*
lru_demote(struct lruhash* table, struct lruhash_entry* entry)
lruhash_insert_or_retrieve(struct lruhash* table, hashvalue_type hash,
struct lruhash* table = (struct lruhash*)calloc(1,
sizeof(struct lruhash));
bin_delete(struct lruhash* table, struct lruhash_bin* bin)
struct lruhash* lruhash_create(size_t start_size, size_t maxmem,
void lruhash_delete(struct lruhash* table);
void lruhash_clear(struct lruhash* table);
void lruhash_insert(struct lruhash* table, hashvalue_type hash,
struct lruhash_entry* lruhash_lookup(struct lruhash* table,
void lru_touch(struct lruhash* table, struct lruhash_entry* entry);
void lruhash_setmarkdel(struct lruhash* table, lruhash_markdelfunc_type md);
void lruhash_update_space_used(struct lruhash* table, void* cb_override,
void lruhash_update_space_max(struct lruhash* table, void* cb_override,
void lru_demote(struct lruhash* table, struct lruhash_entry* entry);
struct lruhash_entry* lruhash_insert_or_retrieve(struct lruhash* table, hashvalue_type hash,
void lruhash_remove(struct lruhash* table, hashvalue_type hash, void* key);
void bin_delete(struct lruhash* table, struct lruhash_bin* bin);
struct lruhash_entry* bin_find_entry(struct lruhash* table,
void bin_split(struct lruhash* table, struct lruhash_bin* newa,
void reclaim_space(struct lruhash* table, struct lruhash_entry** list);
void table_grow(struct lruhash* table);
void lru_front(struct lruhash* table, struct lruhash_entry* entry);
void lru_remove(struct lruhash* table, struct lruhash_entry* entry);
void lruhash_status(struct lruhash* table, const char* id, int extended);
size_t lruhash_get_mem(struct lruhash* table);
void lruhash_traverse(struct lruhash* h, int wr,
total += sizeof(struct lruhash*)*sl->size;
struct lruhash* slabhash_gettable(struct slabhash* sl, hashvalue_type hash)
sl->array = (struct lruhash**)calloc(sl->size, sizeof(struct lruhash*));
struct lruhash* slabhash_gettable(struct slabhash* table, hashvalue_type hash);
struct lruhash** array;
dump_lruhash(struct lruhash* table,
struct lruhash* table = slabhash_gettable(&r->table, hash);
static void test_lru(struct lruhash* table)
test_short_table(struct lruhash* table)
testadd(struct lruhash* table, testdata_type* ref[])
testremove(struct lruhash* table, testdata_type* ref[])
testlookup(struct lruhash* table, testdata_type* ref[])
check_table(struct lruhash* table)
testadd_unlim(struct lruhash* table, testdata_type** ref)
testremove_unlim(struct lruhash* table, testdata_type** ref)
testlookup_unlim(struct lruhash* table, testdata_type** ref)
test_long_table(struct lruhash* table)
struct lruhash* table;
test_threaded_table(struct lruhash* table)
struct lruhash* table ;
test_bin_find_entry(struct lruhash* table)
check_lru_table(struct lruhash* table)
bin_split(struct lruhash* table, struct lruhash_bin* newa,
lruhash_delete(struct lruhash* table)
reclaim_space(struct lruhash* table, struct lruhash_entry** list)
bin_find_entry(struct lruhash* table,
table_grow(struct lruhash* table)
lru_front(struct lruhash* table, struct lruhash_entry* entry)
lru_remove(struct lruhash* table, struct lruhash_entry* entry)
lru_touch(struct lruhash* table, struct lruhash_entry* entry)
lruhash_insert(struct lruhash* table, hashvalue_type hash,
lruhash_lookup(struct lruhash* table, hashvalue_type hash, void* key, int wr)
lruhash_remove(struct lruhash* table, hashvalue_type hash, void* key)
bin_clear(struct lruhash* table, struct lruhash_bin* bin)
lruhash_clear(struct lruhash* table)
lruhash_status(struct lruhash* table, const char* id, int extended)
lruhash_get_mem(struct lruhash* table)
s = sizeof(struct lruhash) + table->space_used;
lruhash_setmarkdel(struct lruhash* table, lruhash_markdelfunc_type md)
lruhash_update_space_used(struct lruhash* table, void* cb_arg, int diff_size)
void lruhash_update_space_max(struct lruhash* table, void* cb_arg, size_t max)
lruhash_traverse(struct lruhash* h, int wr,
struct lruhash*
lru_demote(struct lruhash* table, struct lruhash_entry* entry)
lruhash_insert_or_retrieve(struct lruhash* table, hashvalue_type hash,
struct lruhash* table = (struct lruhash*)calloc(1,
sizeof(struct lruhash));
bin_delete(struct lruhash* table, struct lruhash_bin* bin)
struct lruhash* lruhash_create(size_t start_size, size_t maxmem,
void lruhash_delete(struct lruhash* table);
void lruhash_clear(struct lruhash* table);
void lruhash_insert(struct lruhash* table, hashvalue_type hash,
struct lruhash_entry* lruhash_lookup(struct lruhash* table,
void lru_touch(struct lruhash* table, struct lruhash_entry* entry);
void lruhash_setmarkdel(struct lruhash* table, lruhash_markdelfunc_type md);
void lruhash_update_space_used(struct lruhash* table, void* cb_override,
void lruhash_update_space_max(struct lruhash* table, void* cb_override,
void lru_demote(struct lruhash* table, struct lruhash_entry* entry);
struct lruhash_entry* lruhash_insert_or_retrieve(struct lruhash* table, hashvalue_type hash,
void lruhash_remove(struct lruhash* table, hashvalue_type hash, void* key);
void bin_delete(struct lruhash* table, struct lruhash_bin* bin);
struct lruhash_entry* bin_find_entry(struct lruhash* table,
void bin_split(struct lruhash* table, struct lruhash_bin* newa,
void reclaim_space(struct lruhash* table, struct lruhash_entry** list);
void table_grow(struct lruhash* table);
void lru_front(struct lruhash* table, struct lruhash_entry* entry);
void lru_remove(struct lruhash* table, struct lruhash_entry* entry);
void lruhash_status(struct lruhash* table, const char* id, int extended);
size_t lruhash_get_mem(struct lruhash* table);
void lruhash_traverse(struct lruhash* h, int wr,
total += sizeof(struct lruhash*)*sl->size;
struct lruhash* slabhash_gettable(struct slabhash* sl, hashvalue_type hash)
sl->array = (struct lruhash**)calloc(sl->size, sizeof(struct lruhash*));
struct lruhash* slabhash_gettable(struct slabhash* table, hashvalue_type hash);
struct lruhash** array;