T - the type of this future resultD - the type of the delegate resultpublic abstract class AbstractConvertingIoFuture<T,D> extends Object implements IoFuture<T>
IoFuture implementation that wraps a different type of IoFuture. Used to create general wrappers
that convert one channel type to another.IoFuture.HandlingNotifier<T,A>, IoFuture.Notifier<T,A>, IoFuture.Status| Modifier and Type | Field and Description |
|---|---|
protected IoFuture<? extends D> |
delegate
The delegate future result.
|
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractConvertingIoFuture(IoFuture<? extends D> delegate) |
| Modifier and Type | Method and Description |
|---|---|
<A> IoFuture<T> |
addNotifier(IoFuture.Notifier<? super T,A> notifier,
A attachment)
Add a notifier to be called when this operation is complete.
|
IoFuture.Status |
await()
Wait for the operation to complete.
|
IoFuture.Status |
await(long time,
TimeUnit timeUnit)
Wait for the operation to complete, with a timeout.
|
IoFuture.Status |
awaitInterruptibly()
Wait for the operation to complete.
|
IoFuture.Status |
awaitInterruptibly(long time,
TimeUnit timeUnit)
Wait for the operation to complete, with a timeout.
|
IoFuture<T> |
cancel()
Cancel an operation.
|
protected abstract T |
convert(D arg) |
T |
get()
Get the result of the operation.
|
protected IoFuture<? extends D> |
getDelegate() |
IOException |
getException()
Get the failure reason.
|
T |
getInterruptibly()
Get the result of the operation.
|
IoFuture.Status |
getStatus()
Get the current status.
|
public IoFuture<T> cancel()
IoFuturecancel in interface Cancellablecancel in interface IoFuture<T>public IoFuture.Status getStatus()
IoFuturepublic IoFuture.Status await()
IoFutureIoFuture.Status.WAITING.public IoFuture.Status await(long time, TimeUnit timeUnit)
IoFutureIoFuture.Status.WAITING,
or the given time elapses. If the time elapses before the operation is complete, IoFuture.Status.WAITING is
returned.await in interface IoFuture<T>time - the amount of time to waittimeUnit - the time unitIoFuture.Status.WAITING if the timeout expiredpublic IoFuture.Status awaitInterruptibly() throws InterruptedException
IoFutureIoFuture.Status.WAITING,
or the current thread is interrupted.awaitInterruptibly in interface IoFuture<T>InterruptedException - if the operation is interruptedpublic IoFuture.Status awaitInterruptibly(long time, TimeUnit timeUnit) throws InterruptedException
IoFutureIoFuture.Status.WAITING,
the given time elapses, or the current thread is interrupted. If the time elapses before the operation is complete, IoFuture.Status.WAITING is
returned.awaitInterruptibly in interface IoFuture<T>time - the amount of time to waittimeUnit - the time unitIoFuture.Status.WAITING if the timeout expiredInterruptedException - if the operation is interruptedpublic IOException getException() throws IllegalStateException
IoFuturegetException in interface IoFuture<T>IllegalStateException - if the operation did not failpublic T get() throws IOException
IoFutureget in interface IoFuture<T>IOException - if the operation failedpublic T getInterruptibly() throws IOException, InterruptedException
IoFuturegetInterruptibly in interface IoFuture<T>IOException - if the operation failedInterruptedException - if the operation is interruptedprotected abstract T convert(D arg) throws IOException
IOExceptionpublic <A> IoFuture<T> addNotifier(IoFuture.Notifier<? super T,A> notifier, A attachment)
IoFutureaddNotifier in interface IoFuture<T>A - the attachment typenotifier - the notifier to be calledattachment - the attachment to pass in to the notifierCopyright © 2018 JBoss by Red Hat. All rights reserved.