Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NAME
     ck_ht_get_spmc -- load a key-value pair from a hash table

LIBRARY
     Concurrency Kit (libck, -lck)

SYNOPSIS
     #include <ck_ht.h>

     bool
     ck_ht_get_spmc(ck_ht_t *ht, ck_ht_hash_t h, ck_ht_entry_t *entry);

DESCRIPTION
     The ck_ht_get_spmc() function will return the value associated with the key
     specified	in the entry argument in the hash table pointed to by the ht ar-
     gument. The key specified in entry is expected to have the hash value spec-
     ified by the h argument.

     If ht was created with CK_HT_MODE_BYTESTRING then entry must have been ini-
     tialized with the ck_ht_entry_set_key(3) or  ck_ht_entry_set(3)  functions.
     If ht was created with CK_HT_MODE_DIRECT then entry must have been initial-
     ized  with  the  ck_ht_entry_key_set_direct(3) or ck_ht_entry_set_direct(3)
     functions.

     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_get_spmc() was successful then the key-value pair in
     entry was successfully found in the hash table pointed to	by  h  and  will
     fail  if  the  key  specified in entry does not exist in the hash table. If
     successful entry will contain the key-value pair found in	the  hash  table
     pointed to by the ht argument.

     If ht was initialized with CK_HT_MODE_BYTESTRING then the key/value pair in
     entry   may   be  extracted  using  the  ck_ht_entry_key(3)  and  ck_ht_en-
     try_value(3) functions. The length of the key may be  extracted  using  the
     ck_ht_entry_key_length(3) function.

     If  ht  was  initialized  with CK_HT_MODE_DIRECT then the key/value pair in
     entry may be extracted using the  ck_ht_entry_key_direct(3)  and  ck_ht_en-
     try_value_direct(3) functions.

     This function is safe to call in the presence of a concurrent writer.

RETURN VALUES
     Upon  successful  completion  ck_ht_get_spmc() returns true. If successful,
     entry will contain the key/value pair as found in the hash  table.   Other-
     wise the function returns false on failure.

ERRORS
     Behavior  is  undefined if entry or ht are uninitialized. The function will
     return false if the key as specified in entry was not found in the hash ta-
     ble.

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_grow_spmc(3),  ck_ht_remove_spmc(3),  ck_ht_reset_spmc(3),  ck_ht_re-
     set_size_spmc(3),	   ck_ht_count(3),    ck_ht_entry_empty(3),    ck_ht_en-
     try_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_di-
     rect(3), ck_ht_iterator_init(3), ck_ht_next(3)

     Additional information available at http://concurrencykit.org/

				 March 29, 2012 	       CK_HT_GET_SPMC(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ck_ht_get_spmc&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help