public class JDKFuture<V> extends AbstractListenableFuture<V>
Modifier and Type | Field and Description |
---|---|
protected AsyncHandler<V> |
asyncHandler |
protected AtomicBoolean |
cancelled |
protected AtomicBoolean |
contentProcessed |
protected AtomicReference<Throwable> |
exception |
protected Future<V> |
innerFuture |
protected AtomicBoolean |
isDone |
protected int |
responseTimeoutInMs |
protected AtomicBoolean |
timedOut |
protected AtomicLong |
touch |
protected HttpURLConnection |
urlConnection |
Constructor and Description |
---|
JDKFuture(AsyncHandler<V> asyncHandler,
int responseTimeoutInMs,
HttpURLConnection urlConnection) |
Modifier and Type | Method and Description |
---|---|
void |
abort(Throwable t)
|
boolean |
cancel(boolean mayInterruptIfRunning) |
void |
content(V v)
Set the content that will be returned by this instance
|
void |
done(Callable callable)
Execute a
Callable and if there is no exception, mark this Future as done and release the internal lock. |
V |
get() |
V |
get(long timeout,
TimeUnit unit) |
boolean |
getAndSetWriteBody(boolean writeBody)
Write the
Request body |
boolean |
getAndSetWriteHeaders(boolean writeHeaders)
Write the
Request headers |
boolean |
hasExpired()
Is the Future still valid
|
boolean |
isCancelled() |
boolean |
isDone() |
protected void |
setInnerFuture(Future<V> innerFuture) |
void |
touch()
Touch the current instance to prevent external service to times out.
|
addListener, done
protected final AsyncHandler<V> asyncHandler
protected final int responseTimeoutInMs
protected final AtomicBoolean cancelled
protected final AtomicBoolean timedOut
protected final AtomicBoolean isDone
protected final AtomicReference<Throwable> exception
protected final AtomicLong touch
protected final AtomicBoolean contentProcessed
protected final HttpURLConnection urlConnection
public JDKFuture(AsyncHandler<V> asyncHandler, int responseTimeoutInMs, HttpURLConnection urlConnection)
public void done(Callable callable)
ListenableFuture
Callable
and if there is no exception, mark this Future as done and release the internal lock.public void abort(Throwable t)
ListenableFuture
public void content(V v)
ListenableFuture
v
- the content that will be returned by this instancepublic boolean cancel(boolean mayInterruptIfRunning)
public boolean isCancelled()
public boolean isDone()
public V get() throws InterruptedException, ExecutionException
public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
public boolean hasExpired()
true
if response has expired and should be terminated.public void touch()
public boolean getAndSetWriteHeaders(boolean writeHeaders)
Request
headerspublic boolean getAndSetWriteBody(boolean writeBody)
Request
bodyCopyright © 2015. All rights reserved.