summaryrefslogtreecommitdiff
path: root/assoc.h
blob: ccdf1a33797bc59c8baffb3500e07de4d46b22a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* associative array */
void assoc_init(const int hashpower_init);

item *assoc_find(const char *key, const size_t nkey, const uint32_t hv);
int assoc_insert(item *item, const uint32_t hv);
void assoc_delete(const char *key, const size_t nkey, const uint32_t hv);

int start_assoc_maintenance_thread(void);
void stop_assoc_maintenance_thread(void);
void assoc_start_expand(uint64_t curr_items);

/* walk functions */
void *assoc_get_iterator(void);
bool assoc_iterate(void *iterp, item **it);
void assoc_iterate_final(void *iterp);

extern unsigned int hashpower;
extern unsigned int item_lock_hashpower;