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

FreeBSD Manual Pages

  
 
  

home | help
NAME
       ck_ht_grow_spmc -- resize a hash	table if necessary

LIBRARY
       Concurrency Kit (libck, -lck)

SYNOPSIS
       #include	<ck_ht.h>

       bool
       ck_ht_grow_spmc(ck_ht_t *ht, uint64_t capacity);

DESCRIPTION
       The  ck_ht_grow_spmc()  function	will resize the	hash table in order to
       be able to at least store the number of entries specified  by  capacity
       at  a  load  factor  of one. The	default	load hash table	load factor is
       0.5. If you wish	to minimize the	likelihood of memory allocations for a
       hash table meant	to store n entries then	specify	a capacity of 2n.  The
       default	behavior  of  ck_ht is to round	capacity to the	next available
       power of	two if it is not already a power of two.

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

RETURN VALUES
       Upon successful completion ck_ht_grow_spmc() returns true and otherwise
       returns a false value.

ERRORS
       Behavior	 is  undefined	if ht is uninitialized.	The function will only
       return false if there are internal memory allocation failures.

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_get_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_GROW_SPMC(3)

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

home | help