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>
public class CircularBlockingQueue<E> extends Object implements BlockingQueue<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 Constructor Description CircularBlockingQueue(int queueSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(E e)
boolean
addAll(Collection<? extends E> arg0)
void
clear()
boolean
contains(Object o)
boolean
containsAll(Collection<?> arg0)
int
drainTo(Collection<? super E> c)
int
drainTo(Collection<? super E> c, int maxElements)
E
element()
long
getDroppedCount()
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<E>
iterator()
boolean
offer(E e)
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
offer(E e, long timeout, TimeUnit unit)
E
peek()
E
poll()
E
poll(long timeout, TimeUnit unit)
void
put(E e)
int
remainingCapacity()
E
remove()
boolean
remove(Object o)
boolean
removeAll(Collection<?> arg0)
boolean
retainAll(Collection<?> arg0)
int
size()
E
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
-
-
-
-
Method Detail
-
offer
public boolean offer(E e)
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
public E poll(long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
poll
in interfaceBlockingQueue<E>
- Throws:
InterruptedException
-
take
public E take() throws InterruptedException
- 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
public int drainTo(Collection<? super E> c)
- Specified by:
drainTo
in interfaceBlockingQueue<E>
-
addAll
public boolean addAll(Collection<? extends E> arg0)
- Specified by:
addAll
in interfaceCollection<E>
-
clear
public void clear()
- Specified by:
clear
in interfaceCollection<E>
-
containsAll
public boolean containsAll(Collection<?> arg0)
- Specified by:
containsAll
in interfaceCollection<E>
-
removeAll
public boolean removeAll(Collection<?> arg0)
- Specified by:
removeAll
in interfaceCollection<E>
-
retainAll
public boolean retainAll(Collection<?> arg0)
- Specified by:
retainAll
in interfaceCollection<E>
-
toArray
public Object[] toArray()
- Specified by:
toArray
in interfaceCollection<E>
-
toArray
public <T> T[] toArray(T[] arg0)
- Specified by:
toArray
in interfaceCollection<E>
-
add
public boolean add(E e)
- Specified by:
add
in interfaceBlockingQueue<E>
- Specified by:
add
in interfaceCollection<E>
- Specified by:
add
in interfaceQueue<E>
-
contains
public boolean contains(Object o)
- Specified by:
contains
in interfaceBlockingQueue<E>
- Specified by:
contains
in interfaceCollection<E>
-
drainTo
public int drainTo(Collection<? super E> c, int maxElements)
- Specified by:
drainTo
in interfaceBlockingQueue<E>
-
offer
public boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
offer
in interfaceBlockingQueue<E>
- Throws:
InterruptedException
-
put
public void put(E e) throws InterruptedException
- Specified by:
put
in interfaceBlockingQueue<E>
- Throws:
InterruptedException
-
remainingCapacity
public int remainingCapacity()
- Specified by:
remainingCapacity
in interfaceBlockingQueue<E>
-
remove
public boolean remove(Object o)
- Specified by:
remove
in interfaceBlockingQueue<E>
- Specified by:
remove
in interfaceCollection<E>
-
-