Lines Matching defs:skipList_struct
42 struct skipList_struct { struct
43 INT32 topLevel; /* current max level in any item */
44 INT32 levelHint; /* hint at level to start search */
45 skipItem header; /* header item (has all levels) */
46 skipItem tail; /* tail item (has all levels) */
49 skipItem deleted; /* cached deleted items (linked by level+1 next entries) */
50 UINT32 cached; /* number of cached deleted items */
52 int flushing; /* TRUE if thread waiting to flush cached items */
53 UINT32 readers; /* number of current readers */
54 int block; /* TRUE if readers should wait */
56 pthread_mutex_t read; /* readers count/cond wait mutex */
57 pthread_mutex_t write; /* writer mutex */
58 pthread_cond_t resume; /* condition to wait on to resume reads */
59 pthread_cond_t flush; /* condition to wait on for flush */
62 int threaded; /* TRUE if list needs to be thread safe */
63 UINT32 flushLimit; /* max number of cached deleted items before flush */
64 INT32 maxLevel; /* max level list can reach */
65 double randLimit; /* min random value to jump levels */
66 skipFreeValue freeValue; /* free value callback */
67 void *freeValueCtx; /* context to pass to <freeValue> callback */