|
NAMEck_ht_init —
initialize a hash table
LIBRARYConcurrency Kit (libck, -lck)SYNOPSIS#include <ck_ht.h>
typedef void
bool
DESCRIPTIONTheck_ht_init () function initializes the hash table
pointed to by the ht pointer.
The argument mode specifies the type of key-value pairs to be stored in the hash table. The value of mode may be one of:
In addition to this, the user may bitwise OR the mode flag with
CK_HT_WORKLOAD_DELETE to indicate that the hash table will have to handle a
delete heavy workload, in which case stronger bounds on latency can be
provided at the cost of approximately 13% higher memory usage. The argument
hash_function is a pointer to a user-specified hash
function. It is optional, if The allocator argument is a pointer to a structure containing malloc and free function pointers which respectively define the memory allocation and destruction functions to be used by the hash table being initialized. The argument capacity represents the initial number of key-value pairs the hash table is expected to contain. This argument is simply a hint and the underlying implementation is free to allocate more or less memory than necessary to contain the number of entries capacity specifies. The argument seed specifies the initial seed used by the underlying hash function. The user is free to choose a value of their choice. The hash table is safe to access by multiple readers in the presence of one concurrent writer. Behavior is undefined in the presence of concurrent writers. RETURN VALUESUpon successful completionck_ht_init () returns a value
of true and otherwise returns a value of
false to indicate an error.
ERRORSThe behavior ofck_ht_init () is undefined if
ht is not a pointer to a ck_ht_t object.
SEE ALSOck_ht_stat(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_grow_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/
Visit the GSP FreeBSD Man Page Interface. |