Package net.i2p.router.util
Class PriBlockingQueue<E extends PQEntry>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<E>
java.util.concurrent.PriorityBlockingQueue<E>
net.i2p.router.util.PriBlockingQueue<E>
- All Implemented Interfaces:
Serializable,Iterable<E>,Collection<E>,BlockingQueue<E>,Queue<E>
- Direct Known Subclasses:
CoDelPriorityBlockingQueue
public class PriBlockingQueue<E extends PQEntry> extends PriorityBlockingQueue<E>
Priority Blocking Queue using methods in the entries,
as defined in PQEntry, to store priority and sequence number,
ensuring FIFO order within a priority.
Input: add(), offer(), and put() are overridden to add a sequence number.
- Since:
- 0.9.3
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected I2PAppContext_contextprotected Log_logprotected String_nameprotected static intDEFAULT_BACKLOG_SIZEprotected static intDEFAULT_MAX_SIZEstatic StringPROP_BACKLOG_SIZEstatic StringPROP_MAX_SIZEprotected static long[]RATES -
Constructor Summary
Constructors Constructor Description PriBlockingQueue(I2PAppContext ctx, String name, int initialCapacity)Bounded queue with a hardcoded failsafe max size, except when using put(), which is unbounded. -
Method Summary
Modifier and Type Method Description booleanadd(E o)Deprecated.use offer(o)booleanisBacklogged()Is the queue too big?booleanoffer(E o)Returns false if fullbooleanoffer(E o, long timeout, TimeUnit unit)Deprecated.use offer(o)voidput(E o)Deprecated.use offer(o)protected voidtimestamp(E o)Methods inherited from class java.util.concurrent.PriorityBlockingQueue
clear, comparator, contains, drainTo, drainTo, forEach, iterator, peek, poll, poll, remainingCapacity, remove, removeAll, removeIf, retainAll, size, spliterator, take, toArray, toArray, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
addAll, containsAll, equals, hashCode, isEmpty, parallelStream, stream, toArray
-
Field Details
-
_context
-
_log
-
_name
-
RATES
protected static final long[] RATES -
DEFAULT_BACKLOG_SIZE
protected static final int DEFAULT_BACKLOG_SIZE- See Also:
- Constant Field Values
-
DEFAULT_MAX_SIZE
protected static final int DEFAULT_MAX_SIZE- See Also:
- Constant Field Values
-
PROP_MAX_SIZE
- See Also:
- Constant Field Values
-
PROP_BACKLOG_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Details
-
PriBlockingQueue
Bounded queue with a hardcoded failsafe max size, except when using put(), which is unbounded.
-
-
Method Details
-
add
Deprecated.use offer(o)OpenJDK add(o) calls offer(o), so use offer(o) to avoid dup stamping. Returns false if full -
offer
Returns false if full -
offer
Deprecated.use offer(o)OpenJDK offer(o, timeout, unit) calls offer(o), so use offer(o) to avoid dup stamping. Non blocking. Returns false if full.- Specified by:
offerin interfaceBlockingQueue<E extends PQEntry>- Overrides:
offerin classPriorityBlockingQueue<E extends PQEntry>- Parameters:
timeout- ignoredunit- ignored
-
put
Deprecated.use offer(o)OpenJDK put(o) calls offer(o), so use offer(o) to avoid dup stamping. Non blocking. Does not add if full.- Specified by:
putin interfaceBlockingQueue<E extends PQEntry>- Overrides:
putin classPriorityBlockingQueue<E extends PQEntry>
-
isBacklogged
public boolean isBacklogged()Is the queue too big? -
timestamp
-