[Debian-med-packaging] Bug#964057: ITP: readerwriterqueue -- single-producer, single-consumer lock-free queue for C++

Steffen Moeller moeller at debian.org
Tue Jun 30 22:43:26 BST 2020


Package: wnpp
Severity: wishlist

Subject: ITP: readerwriterqueue -- single-producer, single-consumer lock-free queue for C++
Package: wnpp
Owner: Steffen Moeller <moeller at debian.org>
Severity: wishlist

* Package name    : readerwriterqueue
  Version         : 1.0.2
  Upstream Author : Cameron Desrochers  
* URL             : https://github.com/cameron314/readerwriterqueue
* License         : BSD
  Programming Lang: C
  Description     : single-producer, single-consumer lock-free queue for C++
 This package provides a lock-free queue  for C++.  It only supports
 a two-thread use case (one consuming, and one producing). The threads
 can't switch roles, though you could use this queue completely from a
 single thread if you wish (but that would sort of defeat the purpose!).
 .
 Features:
  * Blazing fast
  * Compatible with C++11 (supports moving objects instead of making
  copies)
  * Fully generic (templated container of any type) -- just like
    std::queue, you never need to allocate memory for elements yourself
    (which saves you the hassle of writing a lock-free memory manager
    to hold the elements you're queueing)
  * Allocates memory up front, in contiguous blocks
  * Provides a try_enqueue method which is guaranteed never to allocate
    memory (the queue starts with an initial capacity)
  * Also provides an enqueue method which can dynamically grow the size
    of the queue as needed
  * Also provides try_emplace/emplace convenience methods
  * Has a blocking version with wait_dequeue
  * Completely "wait-free" (no compare-and-swap loop). Enqueue and
    dequeue are always O(1) (not counting memory allocation)
  * On x86, the memory barriers compile down to no-ops, meaning enqueue
    and dequeue are just a simple series of loads and stores (and
    branches)

Remark: This package is maintained by Debian Med Packaging Team at
   https://salsa.debian.org/med-team/readerwriterqueue



More information about the Debian-med-packaging mailing list