Package org.apache.zookeeper.util
Class CircularBlockingQueue<E>
java.lang.Object
org.apache.zookeeper.util.CircularBlockingQueue<E>
- All Implemented Interfaces:
Iterable<E>,Collection<E>,BlockingQueue<E>,Queue<E>
A bounded blocking queue backed by an array. This queue orders elements FIFO
(first-in-first-out). The head of the queue is that element that has been on
the queue the longest time. The tail of the queue is that element that has
been on the queue the shortest time. New elements are inserted at the tail of
the queue, and the queue retrieval operations obtain elements at the head of
the queue. If the queue is full, the head of the queue (the oldest element)
will be removed to make room for the newest element.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanaddAll(Collection<? extends E> arg0) voidclear()booleanbooleancontainsAll(Collection<?> arg0) intdrainTo(Collection<? super E> c) intdrainTo(Collection<? super E> c, int maxElements) element()longReturns the number of elements that were dropped from the queue because the queue was full when a new element was offered.booleanisEmpty()iterator()booleanThis method differs fromBlockingQueue.offer(Object)in that it will remove the oldest queued element (the element at the front of the queue) in order to make room for any new elements if the queue is full.booleanpeek()poll()voidintremove()booleanbooleanremoveAll(Collection<?> arg0) booleanretainAll(Collection<?> arg0) intsize()take()Object[]toArray()<T> T[]toArray(T[] arg0) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Collection
equals, hashCode, parallelStream, removeIf, spliterator, stream
-
Constructor Details
-
CircularBlockingQueue
public CircularBlockingQueue(int queueSize)
-
-
Method Details
-
offer
This method differs fromBlockingQueue.offer(Object)in that it will remove the oldest queued element (the element at the front of the queue) in order to make room for any new elements if the queue is full. -
poll
- Specified by:
pollin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
take
- Specified by:
takein interfaceBlockingQueue<E>- Throws:
InterruptedException
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceCollection<E>
-
size
public int size()- Specified by:
sizein interfaceCollection<E>
-
getDroppedCount
public long getDroppedCount()Returns the number of elements that were dropped from the queue because the queue was full when a new element was offered.- Returns:
- The number of elements dropped (lost) from the queue
-
drainTo
- Specified by:
drainToin interfaceBlockingQueue<E>
-
poll
-
element
-
peek
-
remove
-
addAll
- Specified by:
addAllin interfaceCollection<E>
-
clear
public void clear()- Specified by:
clearin interfaceCollection<E>
-
containsAll
- Specified by:
containsAllin interfaceCollection<E>
-
iterator
-
removeAll
- Specified by:
removeAllin interfaceCollection<E>
-
retainAll
- Specified by:
retainAllin interfaceCollection<E>
-
toArray
- Specified by:
toArrayin interfaceCollection<E>
-
toArray
public <T> T[] toArray(T[] arg0) - Specified by:
toArrayin interfaceCollection<E>
-
add
- Specified by:
addin interfaceBlockingQueue<E>- Specified by:
addin interfaceCollection<E>- Specified by:
addin interfaceQueue<E>
-
contains
- Specified by:
containsin interfaceBlockingQueue<E>- Specified by:
containsin interfaceCollection<E>
-
drainTo
- Specified by:
drainToin interfaceBlockingQueue<E>
-
offer
- Specified by:
offerin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
put
- Specified by:
putin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
remainingCapacity
public int remainingCapacity()- Specified by:
remainingCapacityin interfaceBlockingQueue<E>
-
remove
- Specified by:
removein interfaceBlockingQueue<E>- Specified by:
removein interfaceCollection<E>
-