| .TH skipNewList 3 "12 July 2007" "ClearSilver" "util/skiplist.h" |
| |
| .de Ss |
| .sp |
| .ft CW |
| .nf |
| .. |
| .de Se |
| .fi |
| .ft P |
| .sp |
| .. |
| .SH NAME |
| skipNewList - create a skip list. |
| .SH SYNOPSIS |
| .Ss |
| #include <util/skiplist.h> |
| .Se |
| .Ss |
| NEOERR *skipNewList(skipList *skip, int threaded, int root, int maxLevel, |
| int flushLimit, skipFreeValue freeValue, void *ctx); |
| |
| .Se |
| |
| .SH ARGUMENTS |
| threaded - true if list should be thread-safe. |
| .br |
| root - performance parameter (see above). |
| .br |
| maxLevel - performance parameter (see above). |
| .br |
| flushLimit - max deleted items to keep cached before |
| .br |
| forcing a flush. |
| .br |
| freeValue - callback made whenever a value is flushed. |
| .br |
| ctx - context to pass to <freeValue>. |
| |
| .SH DESCRIPTION |
| 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. |
| |
| .SH "RETURN VALUE" |
| None. |
| |
| .SH "SEE ALSO" |
| .BR skipDelete "(3), "skipFreeList "(3), "skipRelease "(3), "skipInsert "(3), "skipSearch "(3), "skipNext "(3), "skipNewList |