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  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 ta-
       ble. 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 success-
       ful, entry will contain the key/value pair as found in the hash	table.
       Otherwise 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		     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+14.3.quarterly>

home | help