Class GrowableArrayBlockingQueue<T>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<T>
-
- org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueue<T>
-
- All Implemented Interfaces:
java.lang.Iterable<T>,java.util.Collection<T>,java.util.concurrent.BlockingQueue<T>,java.util.Queue<T>
public class GrowableArrayBlockingQueue<T> extends java.util.AbstractQueue<T> implements java.util.concurrent.BlockingQueue<T>This implements aBlockingQueuebacked by an array with no fixed capacity.When the capacity is reached, data will be moved to a bigger array.
-
-
Constructor Summary
Constructors Constructor Description GrowableArrayBlockingQueue()GrowableArrayBlockingQueue(int initialCapacity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(T e)voidclear()intdrainTo(java.util.Collection<? super T> c)intdrainTo(java.util.Collection<? super T> c, int maxElements)Telement()voidforEach(java.util.function.Consumer<? super T> action)booleanisTerminated()java.util.Iterator<T>iterator()booleanoffer(T e)booleanoffer(T e, long timeout, java.util.concurrent.TimeUnit unit)Tpeek()Tpoll()Tpoll(long timeout, java.util.concurrent.TimeUnit unit)voidput(T e)intremainingCapacity()Tremove()booleanremove(java.lang.Object o)intsize()Ttake()voidterminate(java.util.function.Consumer<T> itemAfterTerminatedHandler)Make the queue not accept new items.java.util.List<T>toList()java.lang.StringtoString()-
Methods inherited from class java.util.AbstractCollection
contains, containsAll, isEmpty, removeAll, retainAll, toArray, toArray
-
-
-
-
Method Detail
-
remove
public T remove()
-
element
public T element()
-
offer
public boolean offer(T e)
-
add
public boolean add(T e)
-
offer
public boolean offer(T e, long timeout, java.util.concurrent.TimeUnit unit)
- Specified by:
offerin interfacejava.util.concurrent.BlockingQueue<T>
-
take
public T take() throws java.lang.InterruptedException
- Specified by:
takein interfacejava.util.concurrent.BlockingQueue<T>- Throws:
java.lang.InterruptedException
-
poll
public T poll(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Specified by:
pollin interfacejava.util.concurrent.BlockingQueue<T>- Throws:
java.lang.InterruptedException
-
remainingCapacity
public int remainingCapacity()
- Specified by:
remainingCapacityin interfacejava.util.concurrent.BlockingQueue<T>
-
drainTo
public int drainTo(java.util.Collection<? super T> c)
- Specified by:
drainToin interfacejava.util.concurrent.BlockingQueue<T>
-
drainTo
public int drainTo(java.util.Collection<? super T> c, int maxElements)
- Specified by:
drainToin interfacejava.util.concurrent.BlockingQueue<T>
-
clear
public void clear()
-
remove
public boolean remove(java.lang.Object o)
-
size
public int size()
-
iterator
public java.util.Iterator<T> iterator()
-
toList
public java.util.List<T> toList()
-
forEach
public void forEach(java.util.function.Consumer<? super T> action)
- Specified by:
forEachin interfacejava.lang.Iterable<T>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.util.AbstractCollection<T>
-
terminate
public void terminate(@Nullable java.util.function.Consumer<T> itemAfterTerminatedHandler)Make the queue not accept new items. if there are still new data trying to enter the queue, it will be handed by {@param itemAfterTerminatedHandler}.
-
isTerminated
public boolean isTerminated()
-
-