From 612fd986ab1e00b6d34dc1937136250e08e89325 Mon Sep 17 00:00:00 2001
From: "J.J" Copyright © 2011-2020 Michael Truog Version: 2.0.1 Nov 26 2020 14:55:34
+ ------------------------------------------------------------------------ Authors: Michael Truog (mjtruog at protonmail dot com). pqueue() = {integer(), {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, queue:queue(), {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}} | {empty, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, queue:queue(), {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}}
+
+
+Module pqueue
+
+ Static Priority Queue.
+ This priority queue implementation depends on a static number of priorities
+ (-20 (high) to 20 (low)) so that tuple access times can be exploited for
+ quick in/out priority queue operations.
+Description
+ Static Priority Queue.
+ This priority queue implementation depends on a static number of priorities
+ (-20 (high) to 20 (low)) so that tuple access times can be exploited for
+ quick in/out priority queue operations. This implementation was created to
+ avoid the slowness within the priority queue used by both RabbitMQ and Riak
+ (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
+Data Types
+
+pqueue()
+Function Index
+
+
+
+in/2
+ Append an item to the tail of the 0 priority queue.
+ O(1).
+in/3
+ Append an item to the tail of a specific priority queue.
+ O(1).
+is_empty/1
+ Check if the priority queue is empty.
+ O(1).
+is_queue/1
+ Check if the priority queue type is as expected.
+ O(1).
+join/2
+ Join two priority queues.
+ O(N).
+len/1
+ Determine the length of a priority queue.
+ O(N).
+new/0
+ Create a new priority queue.
+ O(1).
+out/1
+ Take an item from the head of the priority queue.
+ O(1) amortized, O(N) worst case.
+out/2
+ Take an item of a specific priority from the head of the queue.
+ O(1) amortized, O(N) worst case.
+pout/1
+ Take an item from the head of the priority queue.
+ Includes the priority in the return value.
+test/0
+ Regression test.
.
+to_list/1
+ Convert the priority queue to a list.
+ O(N).Function Details
+
+in/2
+Append an item to the tail of the 0 priority queue.
+ O(1)
+
is_empty(X1::pqueue()) -> true | false
+
is_queue(X1::pqueue()) -> true | false
+
+
len(X1::pqueue()) -> non_neg_integer()
+
new() -> pqueue()
+
+
+
+
test() -> any()
++
to_list(X1::pqueue()) -> [term()]
+
Generated by EDoc
+ + -- cgit v1.2.3