logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ck_ht_put_spmc — store unique key-value pair into hash table

Description

       The  ck_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.

Errors

       Behavior  is undefined if entry or ht are uninitialized. The function will return false 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.

Library

       Concurrency Kit (libck, -lck)

Name

       ck_ht_put_spmc — store unique key-value pair into hash table

Return Values

       Upon successful completion ck_ht_put_spmc() returns true and otherwise returns false on failure.

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                                CK_HT_PUT_SPMC(3)

Synopsis

#include<ck_ht.h>boolck_ht_put_spmc(ck_ht_t*ht, ck_ht_hash_th, ck_ht_entry_t*entry);

See Also