Package tigase.util.workqueue
Class PriorityQueueAbstract<E>
java.lang.Object
tigase.util.workqueue.PriorityQueueAbstract<E>
- Direct Known Subclasses:
NonpriorityQueue
,PriorityQueueRelaxed
,PriorityQueueStrict
Works like a LinkedBlockingQueue using the put() and take() methods but with an additional priority integer
parameter. The elemnt returned from take() will honor the priority in such a way that all elements of a lower
priority will be returned before any elemens of a higher priority.
Modified proposition taken from Noa Resare: http://resare.com/noa/ref/MultiPrioQueue.java
Modified proposition taken from Noa Resare: http://resare.com/noa/ref/MultiPrioQueue.java
- Author:
- Artur Hefczyc
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <E> PriorityQueueAbstract<E>
getPriorityQueue
(int maxPriority, int maxSize) Deprecated.static <E> PriorityQueueAbstract<E>
getPriorityQueue
(int maxPriority, int maxSize, Class<? extends PriorityQueueAbstract> queueClass) abstract void
init
(int maxPriority, int maxSize) abstract boolean
abstract void
abstract void
setMaxSize
(int maxSize) abstract int[]
size()
abstract E
take()
abstract int
-
Field Details
-
NONPRIORITY_QUEUE
- See Also:
-
QUEUE_IMPLEMENTATION
- See Also:
-
-
Constructor Details
-
PriorityQueueAbstract
public PriorityQueueAbstract()
-
-
Method Details
-
getPriorityQueue
@Deprecated public static <E> PriorityQueueAbstract<E> getPriorityQueue(int maxPriority, int maxSize) Deprecated. -
getPriorityQueue
public static <E> PriorityQueueAbstract<E> getPriorityQueue(int maxPriority, int maxSize, Class<? extends PriorityQueueAbstract> queueClass) -
init
public abstract void init(int maxPriority, int maxSize) -
offer
-
put
- Throws:
InterruptedException
-
setMaxSize
public abstract void setMaxSize(int maxSize) -
size
public abstract int[] size() -
take
- Throws:
InterruptedException
-
totalSize
public abstract int totalSize()
-