Class SizeBlockingQueue<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<E>
org.elasticsearch.common.util.concurrent.SizeBlockingQueue<E>
- All Implemented Interfaces:
java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.concurrent.BlockingQueue<E>
,java.util.Queue<E>
public class SizeBlockingQueue<E>
extends java.util.AbstractQueue<E>
implements java.util.concurrent.BlockingQueue<E>
A size based queue wrapping another blocking queue to provide (somewhat relaxed) capacity checks.
Mainly makes sense to use with blocking queues that are unbounded to provide the ability to do
capacity verification.
-
Constructor Summary
Constructors Constructor Description SizeBlockingQueue(java.util.concurrent.BlockingQueue<E> queue, int capacity)
-
Method Summary
Modifier and Type Method Description int
capacity()
boolean
contains(java.lang.Object o)
boolean
containsAll(java.util.Collection<?> c)
int
drainTo(java.util.Collection<? super E> c)
int
drainTo(java.util.Collection<? super E> c, int maxElements)
void
forcePut(E e)
Forces adding an element to the queue, without doing size checks.java.util.Iterator<E>
iterator()
boolean
offer(E e)
boolean
offer(E e, long timeout, java.util.concurrent.TimeUnit unit)
E
peek()
E
poll()
E
poll(long timeout, java.util.concurrent.TimeUnit unit)
void
put(E e)
int
remainingCapacity()
boolean
remove(java.lang.Object o)
int
size()
E
take()
java.lang.Object[]
toArray()
<T> T[]
toArray(T[] a)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
Method Details
-
size
public int size() -
capacity
public int capacity() -
iterator
-
peek
- Specified by:
peek
in interfacejava.util.Queue<E>
-
poll
- Specified by:
poll
in interfacejava.util.Queue<E>
-
poll
public E poll(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
poll
in interfacejava.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
-
remove
public boolean remove(java.lang.Object o) -
forcePut
Forces adding an element to the queue, without doing size checks.- Throws:
java.lang.InterruptedException
-
offer
-
offer
public boolean offer(E e, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
offer
in interfacejava.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
-
put
- Specified by:
put
in interfacejava.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
-
take
- Specified by:
take
in interfacejava.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
-
remainingCapacity
public int remainingCapacity()- Specified by:
remainingCapacity
in interfacejava.util.concurrent.BlockingQueue<E>
-
drainTo
- Specified by:
drainTo
in interfacejava.util.concurrent.BlockingQueue<E>
-
drainTo
- Specified by:
drainTo
in interfacejava.util.concurrent.BlockingQueue<E>
-
toArray
public java.lang.Object[] toArray() -
toArray
public <T> T[] toArray(T[] a) -
contains
public boolean contains(java.lang.Object o) -
containsAll
public boolean containsAll(java.util.Collection<?> c)
-