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 TypeMethodDescriptionboolean
boolean
addAll
(Collection<? extends E> arg0) void
clear()
boolean
boolean
containsAll
(Collection<?> arg0) int
drainTo
(Collection<? super E> c) int
drainTo
(Collection<? super E> c, int maxElements) element()
long
Returns the number of elements that were dropped from the queue because the queue was full when a new element was offered.boolean
isEmpty()
iterator()
boolean
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.boolean
peek()
poll()
void
int
remove()
boolean
boolean
removeAll
(Collection<?> arg0) boolean
retainAll
(Collection<?> arg0) int
size()
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, wait
Methods 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:
poll
in interfaceBlockingQueue<E>
- Throws:
InterruptedException
-
take
- Specified by:
take
in interfaceBlockingQueue<E>
- Throws:
InterruptedException
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceCollection<E>
-
size
public int size()- Specified by:
size
in 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:
drainTo
in interfaceBlockingQueue<E>
-
poll
-
element
-
peek
-
remove
-
addAll
- Specified by:
addAll
in interfaceCollection<E>
-
clear
public void clear()- Specified by:
clear
in interfaceCollection<E>
-
containsAll
- Specified by:
containsAll
in interfaceCollection<E>
-
iterator
-
removeAll
- Specified by:
removeAll
in interfaceCollection<E>
-
retainAll
- Specified by:
retainAll
in interfaceCollection<E>
-
toArray
- Specified by:
toArray
in interfaceCollection<E>
-
toArray
public <T> T[] toArray(T[] arg0) - Specified by:
toArray
in interfaceCollection<E>
-
add
- Specified by:
add
in interfaceBlockingQueue<E>
- Specified by:
add
in interfaceCollection<E>
- Specified by:
add
in interfaceQueue<E>
-
contains
- Specified by:
contains
in interfaceBlockingQueue<E>
- Specified by:
contains
in interfaceCollection<E>
-
drainTo
- Specified by:
drainTo
in interfaceBlockingQueue<E>
-
offer
- Specified by:
offer
in interfaceBlockingQueue<E>
- Throws:
InterruptedException
-
put
- Specified by:
put
in interfaceBlockingQueue<E>
- Throws:
InterruptedException
-
remainingCapacity
public int remainingCapacity()- Specified by:
remainingCapacity
in interfaceBlockingQueue<E>
-
remove
- Specified by:
remove
in interfaceBlockingQueue<E>
- Specified by:
remove
in interfaceCollection<E>
-