public class HttpFuture<T> extends AbstractListenableFuture<T,HttpCompletionListener> implements java.util.concurrent.Future<T>
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.CountDownLatch |
latch |
protected java.util.concurrent.atomic.AtomicReference<T> |
objRef |
protected HttpOperation |
op |
protected OperationStatus |
status |
protected long |
timeout |
Constructor and Description |
---|
HttpFuture(java.util.concurrent.CountDownLatch latch,
long timeout,
java.util.concurrent.ExecutorService service) |
Modifier and Type | Method and Description |
---|---|
HttpFuture<T> |
addListener(HttpCompletionListener listener)
Add a listener to the future, which will be executed once the operation
completes.
|
boolean |
cancel(boolean c) |
T |
get() |
T |
get(long duration,
java.util.concurrent.TimeUnit units) |
OperationStatus |
getStatus() |
boolean |
isCancelled() |
boolean |
isDone() |
HttpFuture<T> |
removeListener(HttpCompletionListener listener)
Remove a previously added listener from the future.
|
void |
set(T oper,
OperationStatus s) |
void |
setOperation(HttpOperation to) |
void |
signalComplete()
Signals that this future is complete.
|
protected void |
waitForAndCheckOperation(long duration,
java.util.concurrent.TimeUnit units) |
addToListeners, executor, notifyListener, notifyListeners, notifyListeners, removeFromListeners
protected final java.util.concurrent.atomic.AtomicReference<T> objRef
protected final java.util.concurrent.CountDownLatch latch
protected final long timeout
protected OperationStatus status
protected HttpOperation op
public HttpFuture(java.util.concurrent.CountDownLatch latch, long timeout, java.util.concurrent.ExecutorService service)
public boolean cancel(boolean c)
cancel
in interface java.util.concurrent.Future<T>
public T get() throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
get
in interface java.util.concurrent.Future<T>
java.lang.InterruptedException
java.util.concurrent.ExecutionException
public T get(long duration, java.util.concurrent.TimeUnit units) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
get
in interface java.util.concurrent.Future<T>
java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.util.concurrent.TimeoutException
protected void waitForAndCheckOperation(long duration, java.util.concurrent.TimeUnit units) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException, java.util.concurrent.ExecutionException
java.lang.InterruptedException
java.util.concurrent.TimeoutException
java.util.concurrent.ExecutionException
public OperationStatus getStatus()
public void set(T oper, OperationStatus s)
public boolean isDone()
isDone
in interface java.util.concurrent.Future<T>
public void setOperation(HttpOperation to)
public boolean isCancelled()
isCancelled
in interface java.util.concurrent.Future<T>
public HttpFuture<T> addListener(HttpCompletionListener listener)
ListenableFuture
addListener
in interface ListenableFuture<T,HttpCompletionListener>
listener
- the listener which will be executed.public HttpFuture<T> removeListener(HttpCompletionListener listener)
ListenableFuture
removeListener
in interface ListenableFuture<T,HttpCompletionListener>
listener
- the previously added listener.public void signalComplete()
Copyright © 2006-2009 Dustin Sallings, 2009-2014 Couchbase, Inc.