org.jgroups.util
Class Promise

java.lang.Object
  extended by org.jgroups.util.Promise

public class Promise
extends java.lang.Object

Allows a thread to submit an asynchronous request and to wait for the result. The caller may choose to check for the result at a later time, or immediately and it may block or not. Both the caller and responder have to know the promise.

Author:
Bela Ban

Constructor Summary
Promise()
           
 
Method Summary
 java.lang.Object getResult()
           
 java.lang.Object getResult(long timeout)
          Returns the result, but never throws a TimeoutException; returns null instead.
 java.lang.Object getResultWithTimeout(long timeout)
          Blocks until a result is available, or timeout milliseconds have elapsed
 boolean hasResult()
          Checks whether result is available.
 void reset()
          Causes all waiting threads to return
 void setResult(java.lang.Object obj)
          Sets the result and notifies any threads waiting for it
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Promise

public Promise()
Method Detail

getResultWithTimeout

public java.lang.Object getResultWithTimeout(long timeout)
                                      throws TimeoutException
Blocks until a result is available, or timeout milliseconds have elapsed

Parameters:
timeout -
Returns:
An object
Throws:
TimeoutException. - If a timeout occurred (implies that timeout > 0)
TimeoutException

getResult

public java.lang.Object getResult()

getResult

public java.lang.Object getResult(long timeout)
Returns the result, but never throws a TimeoutException; returns null instead.

Parameters:
timeout -
Returns:
Object

hasResult

public boolean hasResult()
Checks whether result is available. Does not block.


setResult

public void setResult(java.lang.Object obj)
Sets the result and notifies any threads waiting for it


reset

public void reset()
Causes all waiting threads to return


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright ? 1998-2005 Bela Ban. All Rights Reserved.