1CK_HS_GC(3)              BSD Library Functions Manual              CK_HS_GC(3)
2

NAME

4     ck_hs_gc — perform maintenance on a hash set
5

LIBRARY

7     Concurrency Kit (libck, -lck)
8

SYNOPSIS

10     #include <ck_hs.h>
11
12     bool
13     ck_hs_gc(ck_hs_t *hs, unsigned long cycles, unsigned long seed);
14

DESCRIPTION

16     The ck_hs_gc(3) function will perform various maintenance routines on the
17     hash set pointed to by hs, including defragmentation of probe sequences
18     with respect to tombstones and in the case that the delete workload hint
19     has been passed, recalculation of probe sequence bounds. The cycles argu‐
20     ment is used to indicate how many hash set entries should be subject to
21     attempted maintenance. If cycles is 0, then maintenance is performed on
22     the complete hash set. The seed argument determines the start location of
23     the maintenance process. If cycles is non-zero, it is recommended that
24     seed is some random value. If the delete hint has been passed, the func‐
25     tion will require an additional 12% of memory (with respect to existing
26     memory usage of the set), until operation completion.
27

RETURN VALUES

29     Upon successful completion, ck_hs_gc(3) returns true and otherwise
30     returns false on failure due to memory allocation failure.
31

ERRORS

33     This function will only return false if there are internal memory alloca‐
34     tion failures.
35

SEE ALSO

37     ck_hs_init(3), ck_hs_move(3), ck_hs_destroy(3), CK_HS_HASH(3),
38     ck_hs_iterator_init(3), ck_hs_next(3), ck_hs_get(3), ck_hs_put(3),
39     ck_hs_put_unique(3), ck_hs_grow(3), ck_hs_rebuild(3), ck_hs_set(3),
40     ck_hs_fas(3), ck_hs_remove(3), ck_hs_count(3), ck_hs_reset(3),
41     ck_hs_reset_size(3), ck_hs_stat(3)
42
43     Additional information available at http://concurrencykit.org/
44
45                               December 17, 2013
Impressum