X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=doc%2Fcds-api.txt;h=8896e20944f37f881e61f63e4cb4ea18be1ccf0a;hp=7a3c6e007fa7b3e097b533ffee43c7c963039e83;hb=2fec8f05f010408e989356e6f9d8c1e191ba4dfa;hpb=e75bc03fe3ded2faa5a77bd1370b994cd60b4865;ds=inline diff --git a/doc/cds-api.txt b/doc/cds-api.txt index 7a3c6e0..8896e20 100644 --- a/doc/cds-api.txt +++ b/doc/cds-api.txt @@ -28,25 +28,36 @@ urcu/rcuhlist.h: for implementing hash tables. Downside over rculist.h: lookup of tail in O(n). -urcu/rculfqueue.h: +urcu/wfstack.h: - RCU queue with lock-free enqueue, lock-free dequeue. RCU used to - provide existance guarantees. + Stack with wait-free push and wait-free pop_all. Both blocking + and non-blocking pop and traversal operations are provided. + This stack does _not_ specifically rely on RCU. + Various synchronization techniques can be used to deal with + pop ABA. Those are detailed in the API. -urcu/wfqueue.h: +urcu/wfcqueue.h: - Queue with wait-free enqueue, blocking dequeue. This queue does - _not_ use RCU. + Concurrent queue with wait-free enqueue. Both blocking and + non-blocking dequeue, splice (move all elements from one queue + to another), and traversal operations are provided. + This queue does _not_ specifically rely on RCU. Mutual exclusion + is used to protect dequeue, splice (from source queue) and + traversal (see API for details). + (note: deprecates urcu/wfqueue.h) -urcu/rculfstack.h: +urcu/lfstack.h: - RCU stack with lock-free push, lock-free dequeue. RCU used to - provide existance guarantees. + Stack with lock-free push, lock-free pop, wait-free pop_all, + wait-free traversal. Various synchronization techniques can be + used to deal with pop ABA. Those are detailed in the API. + This stack does _not_ specifically rely on RCU. + (note: deprecates urcu/rculfstack.h) -urcu/wfstack.h: +urcu/rculfqueue.h: - Stack with wait-free enqueue, blocking dequeue. This stack does - _not_ use RCU. + RCU queue with lock-free enqueue, lock-free dequeue. + This queue relies on RCU for existence guarantees. urcu/rculfhash.h: