skipNewList - Man Page

create a skip list.


#include <util/skiplist.h>
NEOERR *skipNewList(skipList *skip, int threaded, int root, int maxLevel,
                     int flushLimit, skipFreeValue freeValue, void *ctx);


threaded - true if list should be thread-safe.
root - performance parameter (see above).
maxLevel - performance parameter (see above).
flushLimit - max deleted items to keep cached before
forcing a flush.
freeValue - callback made whenever a value is flushed.
ctx - context to pass to <freeValue>.


Returns a new skip list.  If <threaded> is true, list is multi-thread safe.  <root> and <maxLevel> determine  performance and expected size (see discussion above). <flushLimit> is for threaded lists and determines the maximum number of deleted items to keep cached during concurrent searches.  Once the limit is reached, new  concurrent reads are blocked until all deleted items are  flushed.

MT-Level: Safe.

Return Value


See Also

skipDelete(3), skipFreeList(3), skipRelease(3), skipInsert(3), skipSearch(3), skipNext(3), skipNewList

Referenced By

skipDelete(3), skipFreeList(3), skipInsert(3), skipNext(3), skipRelease(3), skipSearch(3).

12 July 2007 ClearSilver util/skiplist.h