public class EmptyAsynchronousIterator<E> extends EmptyCloseableIterator<E> implements IAsynchronousIterator<E>
IAsynchronousIterator.| Constructor and Description |
|---|
EmptyAsynchronousIterator() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
hasNext(long timeout,
TimeUnit unit)
Return
true iff there is at least one element that can be
visited. |
boolean |
isExhausted()
Return
true iff this iterator will not visit any more
elements (non-blocking). |
E |
next(long timeout,
TimeUnit unit)
Waits up to the timeout to return the next element.
|
close, hasNext, next, removeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclosepublic boolean isExhausted()
IAsynchronousIteratortrue iff this iterator will not visit any more
elements (non-blocking).isExhausted in interface IAsynchronousIterator<E>true iff the iterator is known to be exhausted
without blocking. A false return does NOT imply
that the iterator will visit more elements, only that it MIGHT
visit more elements.public boolean hasNext(long timeout,
TimeUnit unit)
throws InterruptedException
IAsynchronousIteratortrue iff there is at least one element that can be
visited. If the buffer is empty then this will block until: (a) an
element appears in the buffer; (b) the buffer is
BlockingBuffer.close()ed; or (c) the timeout expires.
Note that a false return DOES NOT signify that the iterator
is exhausted. However, if you specify an infinite timeout using
Long.MAX_VALUE TimeUnit.SECONDS then you MAY safely
interpret a false return as an indication that the iterator
is exhausted.
hasNext in interface IAsynchronousIterator<E>timeout - The length of time that the method may block awaiting an
element to appear.unit - The units in which the timeout is expressed.true iff there is an element available.InterruptedException - if the current thread is interrupted while waiting another
element.public E next(long timeout, TimeUnit unit) throws InterruptedException
IAsynchronousIteratornext in interface IAsynchronousIterator<E>timeout - The timeout (overrides the chunkTimeout specified to
the BlockingBuffer ctor).unit - The unit in which the timeout is expressed.null iff the timeout was exceeded
before IAsynchronousIterator.hasNext(long, TimeUnit) returned
true.
In order to have a definitive indication that the iterator is
exhausted you need to invoke Iterator.hasNext() without a timeout
(blocking) or IAsynchronousIterator.isExhausted() (non-blocking).
InterruptedException - if the current thread is interrupted while waiting for
another element.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.