public class Tuple2Future<E,F> extends IntermediateFuture<TupleResult> implements ITuple2Future<E,F>
IForwardCommandFuture.Typeicallers, indices, intermediate, results, scheduledCALLER_QUEUED, CALLER_RESUMED, CALLER_SUSPENDED, callers, creation, DEBUG, exception, fcommands, first, listener, listeners, NO_STACK_COMPACTION, NONE, result, resultavailable, STACK, undone, UNSETDONE| Constructor and Description | 
|---|
| Tuple2Future()Create a future that is already done. | 
| Tuple2Future(E result1,
            F result2)Create a future that is already done. | 
| Tuple2Future(java.lang.Exception exception)Create a future that is already done (failed). | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addTuple2ResultListener(IFunctionalResultListener<E> firstListener,
                       IFunctionalResultListener<F> secondListener)Uses two functional result listeners to create a Tuple2ResultListener and add it. | 
| void | addTuple2ResultListener(IFunctionalResultListener<E> firstListener,
                       IFunctionalResultListener<F> secondListener,
                       IFunctionalExceptionListener exceptionListener)Uses two functional result listeners to create a Tuple2ResultListener and add it. | 
| protected TupleResult | findResult(int idx)Find result in results | 
| E | getFirstResult()Get the first result. | 
| E | getFirstResult(long timeout)Get the first result. | 
| E | getFirstResult(long timeout,
              boolean realtime)Get the first result. | 
| E | getFirstResult(ThreadSuspendable sus)Deprecated. 
 - From 3.0. Use method without suspendable. 
  Will NOT use the suspendable that is supplied as parameter.
  Get the first result. | 
| protected int | getMax()Get the number of results of the type of future.. | 
| F | getSecondResult()Get the second result. | 
| F | getSecondResult(long timeout)Get the second result. | 
| F | getSecondResult(long timeout,
               boolean realtime)Get the second result. | 
| protected java.lang.Object | getXResult(int idx,
          long timeout,
          boolean realtime)Get the x result. | 
| protected void | notifyIntermediateResult(IIntermediateResultListener<TupleResult> listener,
                        TupleResult result)Notify a result listener. | 
| void | setFirstResult(E result)Set the result. | 
| void | setFirstResultIfUndone(E result)Set the result. | 
| void | setSecondResult(F result)Set the result. | 
| void | setSecondResultIfUndone(F result)Set the result. | 
| protected void | setXResult(int idx,
          java.lang.Object res)Set the xth result. | 
| protected void | setXResultIfUndone(int idx,
                  java.lang.Object res)Set the xth result. | 
addIntermediateResult, addIntermediateResultIfUndone, addIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, addResult, addResultListener, doAddIntermediateResult, doGetNextIntermediateResult, doNotifyListener, doSetFinished, doSetResult, flatMapAsync, getIntermediateResults, getNextIntermediateResult, getNextIntermediateResult, getNextIntermediateResult, hasNextIntermediateResult, mapAsync, mapAsync, notifyListener, resume, resumeIntermediate, scheduleNotification, setFinished, setFinishedIfUndone, startScheduledNotificationsabortGet, acceptEither, addForwardCommand, addResultListener, addResultListener, applyToEither, doSetException, get, get, get, get, get, getEmptyFuture, getException, getFuture, hasResultListener, isDone, notifyListenerCommand, removeForwardCommand, sendForwardCommand, setException, setExceptionIfUndone, setResult, setResultIfUndone, thenAccept, thenAccept, thenApply, thenApply, thenCombine, thenCompose, thenComposeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, addIntermediateResultListener, flatMapAsync, getIntermediateResults, getNextIntermediateResult, hasNextIntermediateResult, mapAsync, mapAsyncacceptEither, addResultListener, addResultListener, addResultListener, applyToEither, get, get, get, get, get, getException, isDone, thenAccept, thenAccept, thenApply, thenApply, thenCombine, thenCompose, thenComposepublic Tuple2Future()
result - The result, if any.public Tuple2Future(E result1, F result2)
result - The result, if any.public Tuple2Future(java.lang.Exception exception)
exception - The exception.public E getFirstResult(ThreadSuspendable sus)
getFirstResult in interface ITuple2Future<E,F>NoSuchElementException, - when there are no more intermediate results and the future is finished.public E getFirstResult()
getFirstResult in interface ITuple2Future<E,F>NoSuchElementException, - when there are no more intermediate results and the future is finished.public F getSecondResult()
getSecondResult in interface ITuple2Future<E,F>NoSuchElementException, - when there are no more intermediate results and the future is finished.public E getFirstResult(long timeout)
getFirstResult in interface ITuple2Future<E,F>timeout - The timeout in millis.NoSuchElementException, - when there are no more intermediate results and the future is finished.public F getSecondResult(long timeout)
getSecondResult in interface ITuple2Future<E,F>timeout - The timeout in millis.NoSuchElementException, - when there are no more intermediate results and the future is finished.public E getFirstResult(long timeout, boolean realtime)
getFirstResult in interface ITuple2Future<E,F>timeout - The timeout in millis.realtime - Flag if wait should be realtime (in contrast to simulation time).NoSuchElementException, - when there are no more intermediate results and the future is finished.public F getSecondResult(long timeout, boolean realtime)
getSecondResult in interface ITuple2Future<E,F>timeout - The timeout in millis.realtime - Flag if wait should be realtime (in contrast to simulation time).NoSuchElementException, - when there are no more intermediate results and the future is finished.public void setFirstResult(E result)
result - The result.public void setSecondResult(F result)
result - The result.public void setFirstResultIfUndone(E result)
result - The result.public void addTuple2ResultListener(IFunctionalResultListener<E> firstListener, IFunctionalResultListener<F> secondListener)
addTuple2ResultListener in interface ITuple2Future<E,F>firstListener - Listener for the first available result.secondListener - Listener for the second available result.public void addTuple2ResultListener(IFunctionalResultListener<E> firstListener, IFunctionalResultListener<F> secondListener, IFunctionalExceptionListener exceptionListener)
addTuple2ResultListener in interface ITuple2Future<E,F>firstListener - Listener for the first available result.secondListener - Listener for the second available result.exListener - The listener that is called on exceptions. Passing
        null enables default exception logging.public void setSecondResultIfUndone(F result)
result - The result.protected void setXResult(int idx,
                          java.lang.Object res)
protected void setXResultIfUndone(int idx,
                                  java.lang.Object res)
protected java.lang.Object getXResult(int idx,
                                      long timeout,
                                      boolean realtime)
NoSuchElementException, - when there are no more intermediate results and the future is finished.protected TupleResult findResult(int idx)
protected int getMax()
protected void notifyIntermediateResult(IIntermediateResultListener<TupleResult> listener, TupleResult result)
notifyIntermediateResult in class IntermediateFuture<TupleResult>listener - The listener.