table of contents
- buster-backports 0.6.0-1.2~bpo10+1
- testing 0.6.0-1.4
- unstable 0.6.0-2
- experimental 0.7.1-2
CK_HT_PUT_SPMC(3) | Library Functions Manual | CK_HT_PUT_SPMC(3) |
NAME¶
ck_ht_put_spmc
—
LIBRARY¶
Concurrency Kit (libck, -lck)SYNOPSIS¶
#include <ck_ht.h>
bool
ck_ht_put_spmc
(ck_ht_t
*ht, ck_ht_hash_t
h, ck_ht_entry_t
*entry);
DESCRIPTION¶
Theck_ht_put_spmc
() function will store the key-value
pair specified in the entry argument in the hash table
pointed to by the ht argument. The key specified in
entry is expected to have the hash value specified by
the h argument.
If ht was created with CK_HT_MODE_BYTESTRING then entry must have been initialized with the ck_ht_entry_set(3) function. If ht was created with CK_HT_MODE_DIRECT then entry must have been initialized with the ck_ht_entry_set_direct(3) function.
It is expected that h was initialized with ck_ht_hash(3) if ht was created with CK_HT_MODE_BYTESTRING. If ht was initialized with CK_HT_MODE_DIRECT then it is expected that h was initialized with the ck_ht_hash_direct(3) function.
If the call to ck_ht_put_spmc
() was
successful then the key-value pair in entry was
successfully stored in the hash table pointed to by ht
and will fail if the key specified in entry already
exists with-in the hash table. Replacement semantics are provided by the
ck_ht_set_spmc(3) function.
This function is safe to call in the presence of concurrent ck_ht_get_spmc(3) operations.
RETURN VALUES¶
Upon successful completionck_ht_put_spmc
() returns
true
and otherwise returns
false
on failure.
ERRORS¶
Behavior is undefined if entry or ht are uninitialized. The function will returnfalse
if
the hash table required to be grown but failed while attempting to grow or if
the key specified in entry was already present in the
hash table.
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_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/
March 29, 2012 |