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

FreeBSD Manual Pages

  
 
  

home | help
NAME
       ck_ht_set_spmc -- store key-value pair into hash	table

LIBRARY
       Concurrency Kit (libck, -lck)

SYNOPSIS
       #include	<ck_ht.h>

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

DESCRIPTION
       The  ck_ht_set_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 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_set_spmc() was successful then the key-value  pair
       in  entry  will contain the previous key-value pair associated with the
       key originally contained	in the entry argument. If  the	operation  was
       unsuccessful then entry is unmodified.

       This   function	 is  safe  to  call  in	 the  presence	of  concurrent
       ck_ht_get_spmc operations.

RETURN VALUES
       Upon successful completion ck_ht_set_spmc() returns true	and  otherwise
       returns false on	failure.

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.

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_put_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_SET_SPMC(3)

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

home | help