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 booleanadd(E e)booleanaddAll(Collection<? extends E> arg0)voidclear()booleancontains(Object o)booleancontainsAll(Collection<?> arg0)intdrainTo(Collection<? super E> c)intdrainTo(Collection<? super E> c, int maxElements)Eelement()longgetDroppedCount()Returns the number of elements that were dropped from the queue because the queue was full when a new element was offered.booleanisEmpty()Iterator<E>iterator()booleanoffer(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.booleanoffer(E e, long timeout, TimeUnit unit)Epeek()Epoll()Epoll(long timeout, TimeUnit unit)voidput(E e)intremainingCapacity()Eremove()booleanremove(Object o)booleanremoveAll(Collection<?> arg0)booleanretainAll(Collection<?> arg0)intsize()Etake()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:
pollin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
take
public E take() throws InterruptedException
- 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
public int drainTo(Collection<? super E> c)
- Specified by:
drainToin interfaceBlockingQueue<E>
-
addAll
public boolean addAll(Collection<? extends E> arg0)
- Specified by:
addAllin interfaceCollection<E>
-
clear
public void clear()
- Specified by:
clearin interfaceCollection<E>
-
containsAll
public boolean containsAll(Collection<?> arg0)
- Specified by:
containsAllin interfaceCollection<E>
-
removeAll
public boolean removeAll(Collection<?> arg0)
- Specified by:
removeAllin interfaceCollection<E>
-
retainAll
public boolean retainAll(Collection<?> arg0)
- Specified by:
retainAllin interfaceCollection<E>
-
toArray
public Object[] toArray()
- Specified by:
toArrayin interfaceCollection<E>
-
toArray
public <T> T[] toArray(T[] arg0)
- Specified by:
toArrayin interfaceCollection<E>
-
add
public boolean add(E e)
- Specified by:
addin interfaceBlockingQueue<E>- Specified by:
addin interfaceCollection<E>- Specified by:
addin interfaceQueue<E>
-
contains
public boolean contains(Object o)
- Specified by:
containsin interfaceBlockingQueue<E>- Specified by:
containsin interfaceCollection<E>
-
drainTo
public int drainTo(Collection<? super E> c, int maxElements)
- Specified by:
drainToin interfaceBlockingQueue<E>
-
offer
public boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
offerin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
put
public void put(E e) throws InterruptedException
- Specified by:
putin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
remainingCapacity
public int remainingCapacity()
- Specified by:
remainingCapacityin interfaceBlockingQueue<E>
-
remove
public boolean remove(Object o)
- Specified by:
removein interfaceBlockingQueue<E>- Specified by:
removein interfaceCollection<E>
-
-