All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Fields
cf_rchash Struct Reference

Detailed Description

An interesting tradeoff regarding 'get_size' In the case of many-locks, there's no real size at any given instant, because the hash is parallelized. Yet, the overhead of creating an atomic for the elements is silly. Thus, when 'manylock', the elements field is not useful because its not protected by a lock - it will typically get boned up. Thus, get_size has to slowly troop through the hashset This seems reasonable because 'get_size' with many lock can't be important, since it's always an estimate anyway.

Definition at line 163 of file src/include/citrusleaf/cf_rchash.h.

#include "cf_rchash.h"

+ Collaboration diagram for cf_rchash:

Data Fields

pthread_mutex_t biglock
 
int buckets_per_lock
 
cf_rchash_destructor_fn d_fn
 
uint32_t elements
 
uint flags
 
cf_rchash_hash_fn h_fn
 
uint32_t key_len
 
pthread_mutex_t * lock_table
 
int lock_table_len
 
void * table
 
uint table_len
 

Field Documentation

pthread_mutex_t cf_rchash::biglock

Definition at line 171 of file src/include/citrusleaf/cf_rchash.h.

int cf_rchash::buckets_per_lock

Definition at line 173 of file src/include/citrusleaf/cf_rchash.h.

cf_rchash_destructor_fn cf_rchash::d_fn

Definition at line 168 of file src/include/citrusleaf/cf_rchash.h.

uint32_t cf_rchash::elements

Definition at line 164 of file src/include/citrusleaf/cf_rchash.h.

uint cf_rchash::flags

Definition at line 166 of file src/include/citrusleaf/cf_rchash.h.

cf_rchash_hash_fn cf_rchash::h_fn

Definition at line 167 of file src/include/citrusleaf/cf_rchash.h.

uint32_t cf_rchash::key_len

Definition at line 165 of file src/include/citrusleaf/cf_rchash.h.

pthread_mutex_t * cf_rchash::lock_table

Definition at line 174 of file src/include/citrusleaf/cf_rchash.h.

int cf_rchash::lock_table_len

Definition at line 172 of file src/include/citrusleaf/cf_rchash.h.

void * cf_rchash::table

Definition at line 170 of file src/include/citrusleaf/cf_rchash.h.

uint cf_rchash::table_len

Definition at line 169 of file src/include/citrusleaf/cf_rchash.h.


The documentation for this struct was generated from the following files: