|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jboss.xnio.AbstractIoFuture<T>
T - the type of result that this operation producespublic abstract class AbstractIoFuture<T>
An abstract base class for IoFuture objects. Used to easily produce implementations.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.jboss.xnio.IoFuture |
|---|
IoFuture.HandlingNotifier<T,A>, IoFuture.Notifier<T,A>, IoFuture.Status |
| Constructor Summary | |
|---|---|
protected |
AbstractIoFuture()
Construct a new instance. |
| Method Summary | ||
|---|---|---|
|
addNotifier(IoFuture.Notifier<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,
java.util.concurrent.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,
java.util.concurrent.TimeUnit timeUnit)
Wait for the operation to complete, with a timeout. |
|
IoFuture<T> |
cancel()
Cancel an operation. |
|
protected boolean |
finishCancel()
Acknowledge the cancellation of this operation. |
|
T |
get()
Get the result of the operation. |
|
java.io.IOException |
getException()
Get the failure reason. |
|
T |
getInterruptibly()
Get the result of the operation. |
|
protected java.util.concurrent.Executor |
getNotifierExecutor()
Get the executor used to run asynchronous notifiers. |
|
IoFuture.Status |
getStatus()
Get the current status. |
|
protected void |
runNotifier(java.lang.Runnable runnable)
Run a notifier. |
|
protected boolean |
setException(java.io.IOException exception)
Set the exception for this operation. |
|
protected boolean |
setResult(T result)
Set the result for this operation. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected AbstractIoFuture()
| Method Detail |
|---|
public IoFuture.Status getStatus()
getStatus in interface IoFuture<T>public IoFuture.Status await()
IoFuture.Status.WAITING.
await in interface IoFuture<T>
public IoFuture.Status await(long time,
java.util.concurrent.TimeUnit timeUnit)
IoFuture.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 unit
IoFuture.Status.WAITING if the timeout expired
public IoFuture.Status awaitInterruptibly()
throws java.lang.InterruptedException
IoFuture.Status.WAITING,
or the current thread is interrupted.
awaitInterruptibly in interface IoFuture<T>java.lang.InterruptedException - if the operation is interrupted
public IoFuture.Status awaitInterruptibly(long time,
java.util.concurrent.TimeUnit timeUnit)
throws java.lang.InterruptedException
IoFuture.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 unit
IoFuture.Status.WAITING if the timeout expired
java.lang.InterruptedException - if the operation is interrupted
public T get()
throws java.io.IOException,
java.util.concurrent.CancellationException
get in interface IoFuture<T>java.io.IOException - if the operation failed
java.util.concurrent.CancellationException - if the operation was cancelled
public T getInterruptibly()
throws java.io.IOException,
java.lang.InterruptedException,
java.util.concurrent.CancellationException
getInterruptibly in interface IoFuture<T>java.io.IOException - if the operation failed
java.lang.InterruptedException - if the operation is interrupted
java.util.concurrent.CancellationException - if the operation was cancelled
public java.io.IOException getException()
throws java.lang.IllegalStateException
getException in interface IoFuture<T>java.lang.IllegalStateException - if the operation did not fail
public <A> IoFuture<T> addNotifier(IoFuture.Notifier<T,A> notifier,
A attachment)
addNotifier in interface IoFuture<T>A - the attachment typenotifier - the notifier to be calledattachment - the attachment to pass in to the notifier
protected boolean setException(java.io.IOException exception)
exception - the exception to set
false if the operation was already completed, true otherwiseprotected boolean setResult(T result)
result - the result to set
false if the operation was already completed, true otherwiseprotected boolean finishCancel()
false if the operation was already completed, true otherwisepublic IoFuture<T> cancel()
finishCancel() method to indicate that the cancel was successful. The
default implementation does nothing.
cancel in interface IoFuture<T>IoFuture instanceprotected void runNotifier(java.lang.Runnable runnable)
Executor retrieved via getNotifierExecutor().
runnable - protected java.util.concurrent.Executor getNotifierExecutor()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||