public class SubscriptionIntermediateDelegationFuture<E> extends TerminableIntermediateDelegationFuture<E> implements ISubscriptionIntermediateFuture<E>
IForwardCommandFuture.Type| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<java.lang.Thread,java.util.List<E>> |
ownresults
The local results for a single thread.
|
protected boolean |
storeforfirst
Flag if results should be stored till first listener is.
|
notified, notify, reason, src, storedinfosicallers, indices, intermediate, notcommand, resultsCALLER_QUEUED, CALLER_RESUMED, CALLER_SUSPENDED, callers, creation, DEBUG, exception, first, listener, listeners, NO_STACK_COMPACTION, NONE, notifications, result, resultavailable, STACK, undone, UNSETDONE| Constructor and Description |
|---|
SubscriptionIntermediateDelegationFuture()
Create a new future.
|
SubscriptionIntermediateDelegationFuture(ITerminableIntermediateFuture<?> src)
Create a new future.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addQuietListener(IResultListener<java.util.Collection<E>> listener)
Add a listener which is only informed about new results,
i.e.
|
void |
addResultListener(IResultListener<java.util.Collection<E>> listener)
Add a result listener.
|
protected E |
doGetNextIntermediateResult(int index,
long timeout,
boolean realtime)
Perform the get without increasing the index.
|
java.util.Collection<E> |
getIntermediateResults()
Get the intermediate results that are available.
|
E |
getNextIntermediateResult(long timeout,
boolean realtime)
Iterate over the intermediate results in a blocking fashion.
|
boolean |
hasNextIntermediateResult(long timeout,
boolean realtime)
Check if there are more results for iteration for the given caller.
|
protected void |
storeResult(E result)
Add a result.
|
doNotify, getSource, sendBackwardCommand, setSource, terminate, terminateaddIntermediateResult, addIntermediateResultIfUndone, addIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, doAddIntermediateResult, doSetFinished, doSetResult, flatMapAsync, getNextIntermediateResult, getNextIntermediateResult, getNotificationCommand, hasNextIntermediateResult, mapAsync, mapAsync, notifyIntermediateResult, resume, resumeIntermediate, setFinished, setFinishedIfUndoneabortGet, acceptEither, addResultListener, addResultListener, applyToEither, delegate, doSetException, exceptionally, exceptionally, exceptionally, executeNotification, get, get, get, get, get, getEmptyFuture, getException, getFuture, hasResultListener, isDone, notifyListener, notifyListener, scheduleNotification, scheduleNotification, scheduleNotification, sendForwardCommand, setException, setExceptionIfUndone, setResult, setResultIfUndone, startScheduledNotifications, thenAccept, thenAccept, thenApply, thenApply, thenCombine, thenCompose, thenComposeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, flatMapAsync, getNextIntermediateResult, hasNextIntermediateResult, mapAsync, mapAsyncterminate, terminateacceptEither, addResultListener, addResultListener, applyToEither, delegate, exceptionally, exceptionally, exceptionally, get, get, get, get, get, getException, isDone, thenAccept, thenAccept, thenApply, thenApply, thenCombine, thenCompose, thenComposesendBackwardCommandprotected java.util.Map<java.lang.Thread,java.util.List<E>> ownresults
protected boolean storeforfirst
public SubscriptionIntermediateDelegationFuture()
public SubscriptionIntermediateDelegationFuture(ITerminableIntermediateFuture<?> src)
protected void storeResult(E result)
storeResult in class IntermediateFuture<E>result - The result.public void addQuietListener(IResultListener<java.util.Collection<E>> listener)
addQuietListener in interface ISubscriptionIntermediateFuture<E>public void addResultListener(IResultListener<java.util.Collection<E>> listener)
addResultListener in interface IFuture<java.util.Collection<E>>addResultListener in class IntermediateFuture<E>listener - The listener.public java.util.Collection<E> getIntermediateResults()
getIntermediateResults in interface IIntermediateFuture<E>getIntermediateResults in interface ISubscriptionIntermediateFuture<E>getIntermediateResults in class IntermediateFuture<E>public E getNextIntermediateResult(long timeout, boolean realtime)
getNextIntermediateResult in interface IIntermediateFuture<E>getNextIntermediateResult in class IntermediateFuture<E>timeout - The timeout in millis.realtime - Flag, if wait should be realtime (in constrast to simulation time).NoSuchElementException, - when there are no more intermediate results and the future is finished.public boolean hasNextIntermediateResult(long timeout,
boolean realtime)
hasNextIntermediateResult in interface IIntermediateFuture<E>hasNextIntermediateResult in class IntermediateFuture<E>timeout - The timeout in millis.realtime - Flag, if wait should be realtime (in constrast to simulation time).protected E doGetNextIntermediateResult(int index, long timeout, boolean realtime)
doGetNextIntermediateResult in class IntermediateFuture<E>