Module com.github.akurilov.commons
Class LimitedQueueBuffer<T>
- java.lang.Object
-
- com.github.akurilov.commons.io.collection.LimitedQueueBuffer<T>
-
- All Implemented Interfaces:
IoBuffer<T>,Input<T>,Output<T>,java.lang.AutoCloseable,java.util.function.Consumer<T>,java.util.function.Supplier<T>
public class LimitedQueueBuffer<T> extends java.lang.Object implements IoBuffer<T>
The blocking queue wrapped in order to act as output from the tail and as input from the head.
-
-
Constructor Summary
Constructors Constructor Description LimitedQueueBuffer(java.util.concurrent.BlockingQueue<T> queue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Does nothingTget()Non-blocking get implementationintget(java.util.List<T> buffer, int maxCount)Non-blocking bulk get implementationLimitedQueueBuffer<T>getInput()Make aInputinstance from this.booleanisEmpty()intput(java.util.List<T> items)intput(java.util.List<T> buffer, int from, int to)Non-blocking bulk put implementationbooleanput(T item)Non-blocking put implementationvoidreset()Does nothingintsize()longskip(long itemsCount)Skip some items.java.lang.StringtoString()
-
-
-
Field Detail
-
queue
protected final java.util.concurrent.BlockingQueue<T> queue
-
-
Constructor Detail
-
LimitedQueueBuffer
public LimitedQueueBuffer(java.util.concurrent.BlockingQueue<T> queue)
-
-
Method Detail
-
put
public boolean put(T item)
Non-blocking put implementation
-
put
public int put(java.util.List<T> buffer, int from, int to)
Non-blocking bulk put implementation
-
getInput
public LimitedQueueBuffer<T> getInput()
Description copied from interface:OutputMake aInputinstance from this.
-
get
public T get()
Non-blocking get implementation
-
get
public int get(java.util.List<T> buffer, int maxCount) throws java.lang.UnsupportedOperationException, java.lang.IllegalArgumentException
Non-blocking bulk get implementation
-
skip
public long skip(long itemsCount)
Description copied from interface:InputSkip some items.
-
isEmpty
public final boolean isEmpty()
-
size
public final int size()
-
close
public void close()
Does nothing- Specified by:
closein interfacejava.lang.AutoCloseable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-