public class AsyncBufferedIterator<T> extends java.lang.Object implements CloseableIterator<T>
Constructor and Description |
---|
AsyncBufferedIterator(java.util.Iterator<T> iterator,
int bufferSize)
Creates a new iterator that traverses the given iterator on a background
thread
|
AsyncBufferedIterator(java.util.Iterator<T> iterator,
int bufferSize,
int bufferCount)
Creates a new iterator that traverses the given iterator on a background
thread
|
AsyncBufferedIterator(java.util.Iterator<T> iterator,
int bufferSize,
int bufferCount,
java.lang.String threadName)
Creates a new iterator that traverses the given iterator on a background
thread
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Should be implemented to close/release any underlying resources.
|
protected java.lang.String |
getThreadNamePrefix() |
boolean |
hasNext() |
T |
next() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
stream, toList
public AsyncBufferedIterator(java.util.Iterator<T> iterator, int bufferSize)
iterator
- iterator to traversebufferSize
- size of read-ahead buffer. A larger size will increase both throughput and latency.
Double buffering is used so the maximum number of records on which read-ahead is performed is twice this.public AsyncBufferedIterator(java.util.Iterator<T> iterator, int bufferSize, int bufferCount)
iterator
- iterator to traversebufferSize
- size of each read-ahead buffer. A larger size will increase both throughput and latency.bufferCount
- number of read-ahead bufferspublic AsyncBufferedIterator(java.util.Iterator<T> iterator, int bufferSize, int bufferCount, java.lang.String threadName)
iterator
- iterator to traversebufferSize
- size of each read-ahead buffer. A larger size will increase both throughput and latency.bufferCount
- number of read-ahead buffersthreadName
- background thread name. A name will be automatically generated if this parameter is null.protected java.lang.String getThreadNamePrefix()
public void close()
CloseableIterator
close
in interface CloseableIterator<T>
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
public boolean hasNext()
hasNext
in interface java.util.Iterator<T>