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

FreeBSD Manual Pages

  
 
  

home | help
CK_HT_GET_SPMC(3)	 BSD Library Functions Manual	     CK_HT_GET_SPMC(3)

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	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_key(3) or ck_ht_entry_set(3) func-
     tions. If ht was created with CK_HT_MODE_DIRECT then entry	must have been
     initialized 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	cre-
     ated 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_entry_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_entry_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
     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_put_spmc(3), ck_ht_gc(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

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO

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

home | help