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 Detail
-
SizeBlockingQueue
public SizeBlockingQueue(java.util.concurrent.BlockingQueue<E> queue, int capacity)
-
-
Method Detail
-
size
public int size()
-
capacity
public int capacity()
-
iterator
public java.util.Iterator<E> iterator()
-
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
public void forcePut(E e) throws java.lang.InterruptedException
Forces adding an element to the queue, without doing size checks.- Throws:
java.lang.InterruptedException
-
offer
public boolean offer(E e)
-
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
public void put(E e) throws java.lang.InterruptedException
- Specified by:
put
in interfacejava.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
-
take
public E take() throws java.lang.InterruptedException
- 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
public int drainTo(java.util.Collection<? super E> c)
- Specified by:
drainTo
in interfacejava.util.concurrent.BlockingQueue<E>
-
drainTo
public int drainTo(java.util.Collection<? super E> c, int maxElements)
- 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)
-
-