logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ck_ht_gc — perform maintenance on a hash table

Description

       The  ck_ht_gc()  function  will  perform various maintenance routines on the hash table pointed to by ht,
       including defragmentation of probe sequences with respect to tombstones and in the case that  the  delete
       workload  hint  has  been  passed, recalculation of probe sequence bounds. The cycles argument is used to
       indicate how many hash table entries should be subject to attempted maintenance.  If cycles  is  0,  then
       maintenance  is  performed on the complete hash table. The seed argument determines the start location of
       the maintenance process. If cycles is non-zero, it is recommended that seed is some random value. If  the
       delete  hint  has  been  passed,  the  function will require an additional 12% of memory (with respect to
       existing memory usage of the set), until operation completion.

Errors

       This function will only return false if there are internal memory allocation failures.

Library

       Concurrency Kit (libck, -lck)

Name

       ck_ht_gc — perform maintenance on a hash table

Return Values

       Upon successful completion, ck_ht_gc(3) returns true and otherwise returns false on failure due to memory
       allocation failure.

See Also

ck_ht_count(3),  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_get_spmc(3),   ck_ht_grow_spmc(3),  ck_ht_remove_spmc(3),
       ck_ht_reset_size_spmc(3),     ck_ht_reset_spmc(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/

                                                December 18, 2013                                    CK_HT_GC(3)

Synopsis

#include<ck_ht.h>boolck_ht_gc(ck_ht_t*ht, unsignedlongcycles, unsignedlongseed);

See Also