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 behav-
     ior 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 re-
     turns 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_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_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+15.1.quarterly>

home | help