NAME¶
ck_ht_grow_spmc
—
resize a hash table if necessary
LIBRARY¶
Concurrency Kit (libck, -lck)
SYNOPSIS¶
#include
<ck_ht.h>
bool
ck_ht_grow_spmc
(
ck_ht_t
*ht,
uint64_t
capacity);
DESCRIPTION¶
The
ck_ht_grow_spmc
() function will resize
the hash table in order to be able to at least store the number of entries
specified by
capacity at a load factor of
one. The default load hash table load factor is 0.5. If you wish to minimize
the likelihood of memory allocations for a hash table meant to store n entries
then specify a capacity of 2n. The default behavior of ck_ht is to round
capacity to the next available power of two
if it is not already a power of two.
This function is safe to call in the presence of concurrent
ck_ht_get_spmc(3) operations.
RETURN VALUES¶
Upon successful completion
ck_ht_grow_spmc
()
returns
true
and otherwise returns a
false
value.
ERRORS¶
Behavior is undefined if
ht is uninitialized.
The function will only return
false
if
there are internal memory allocation failures.
SEE ALSO¶
ck_ht_stat(3),
ck_ht_init(3),
ck_ht_destroy(3),
ck_ht_hash(3),
ck_ht_hash_direct(3),
ck_ht_set_spmc(3),
ck_ht_put_spmc(3),
ck_ht_gc(3),
ck_ht_get_spmc(3),
ck_ht_remove_spmc(3),
ck_ht_reset_spmc(3),
ck_ht_reset_size_spmc(3),
ck_ht_count(3),
ck_ht_entry_empty(3),
ck_ht_entry_key_set(3),
ck_ht_entry_key_set_direct(3),
ck_ht_entry_key(3),
ck_ht_entry_key_length(3),
ck_ht_entry_value(3),
ck_ht_entry_set(3),
ck_ht_entry_set_direct(3),
ck_ht_entry_key_direct(3),
ck_ht_entry_value_direct(3),
ck_ht_iterator_init(3),
ck_ht_next(3)
Additional information available at
http://concurrencykit.org/