abstract class AbstractBoundedNodeQueue[T] extends AnyRef
Lock-free bounded non-blocking multiple-producer single-consumer queue based on the works of:
Andriy Plokhotnuyk (https://github.com/plokhotnyuk)
- https://github.com/plokhotnyuk/actors/blob/2e65abb7ce4cbfcb1b29c98ee99303d6ced6b01f/src/test/scala/akka/dispatch/Mailboxes.scala (Apache V2: https://github.com/plokhotnyuk/actors/blob/master/LICENSE)
Dmitriy Vyukov's non-intrusive MPSC queue:
- http://www.1024cores.net/home/lock-free-algorithms/queues/non-intrusive-mpsc-node-based-queue (Simplified BSD)
Linear Supertypes
Known Subclasses
Type Hierarchy
Ordering
- Alphabetic
- By Inheritance
Inherited
- AbstractBoundedNodeQueue
- AnyRef
- Any
Implicitly
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
Visibility
- Public
- All
Value Members
- final def add(value: T): Boolean
- final def addNode(n: Node[T]): Boolean
-
final
def
capacity(): Int
- returns
the maximum capacity of this queue
- final def isEmpty(): Boolean
-
final
def
peek(): T
- returns
the first value of this queue, null if empty
-
final
def
poll(): T
Removes the first element of this queue if any
Removes the first element of this queue if any
- returns
the value of the first element of the queue, null if empty
-
final
def
pollNode(): Node[T]
Removes the first element of this queue if any
Removes the first element of this queue if any
- returns
the
Node
of the first element of the queue, null if empty
-
final
def
size(): Int
Returns an approximation of the queue's "current" size