1CK_HT_GROW_SPMC(3) BSD Library Functions Manual CK_HT_GROW_SPMC(3)
2
4 ck_ht_grow_spmc — resize a hash table if necessary
5
7 Concurrency Kit (libck, -lck)
8
10 #include <ck_ht.h>
11
12 bool
13 ck_ht_grow_spmc(ck_ht_t *ht, uint64_t capacity);
14
16 The ck_ht_grow_spmc() function will resize the hash table in order to be
17 able to at least store the number of entries specified by capacity at a
18 load factor of one. The default load hash table load factor is 0.5. If
19 you wish to minimize the likelihood of memory allocations for a hash ta‐
20 ble meant to store n entries then specify a capacity of 2n. The default
21 behavior of ck_ht is to round capacity to the next available power of two
22 if it is not already a power of two.
23
24 This function is safe to call in the presence of concurrent
25 ck_ht_get_spmc(3) operations.
26
28 Upon successful completion ck_ht_grow_spmc() returns true and otherwise
29 returns a false value.
30
32 Behavior is undefined if ht is uninitialized. The function will only
33 return false if there are internal memory allocation failures.
34
36 ck_ht_stat(3), ck_ht_init(3), ck_ht_destroy(3), ck_ht_hash(3),
37 ck_ht_hash_direct(3), ck_ht_set_spmc(3), ck_ht_put_spmc(3), ck_ht_gc(3),
38 ck_ht_get_spmc(3), ck_ht_remove_spmc(3), ck_ht_reset_spmc(3),
39 ck_ht_reset_size_spmc(3), ck_ht_count(3), ck_ht_entry_empty(3),
40 ck_ht_entry_key_set(3), ck_ht_entry_key_set_direct(3),
41 ck_ht_entry_key(3), ck_ht_entry_key_length(3), ck_ht_entry_value(3),
42 ck_ht_entry_set(3), ck_ht_entry_set_direct(3), ck_ht_entry_key_direct(3),
43 ck_ht_entry_value_direct(3), ck_ht_iterator_init(3), ck_ht_next(3)
44
45 Additional information available at http://concurrencykit.org/
46
47 March 29, 2012