java.lang.Object
org.glassfish.grizzly.impl.UnsafeFutureImpl<R>
- All Implemented Interfaces:
Future<R>,Cacheable,GrizzlyFuture<R>,FutureImpl<R>
Simple thread-unsafe
Future implementation.- Author:
- Alexey Stashok
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Set<CompletionHandler<R>>protected Throwableprotected booleanprotected booleanprotected intprotected R -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCompletionHandler(CompletionHandler<R> completionHandler) Adds aCompletionHandler, which will be notified once the asynchronous computation, represented by this Future, is complete.booleancancel(boolean mayInterruptIfRunning) static <R> UnsafeFutureImpl<R>create()ConstructFuture.voidNotify about the failure, occured during asynchronous operation execution.get()Get current result value without any blocking.booleanbooleanisDone()voidmarkForRecycle(boolean recycleResult) Mark GrizzlyFuture as recyclable, so once result will come - GrizzlyFuture object will be recycled and returned to a thread local object pool.protected voidNotify blocked listeners threads about operation completion.voidrecycle()voidrecycle(boolean recycleResult) Recycle GrizzlyFuture now.protected voidreset()voidSet the result value and notify about operation completion.
-
Field Details
-
isDone
protected boolean isDone -
isCancelled
protected boolean isCancelled -
failure
-
completionHandlers
-
result
-
recycleMark
protected int recycleMark
-
-
Method Details
-
create
ConstructFuture. -
addCompletionHandler
Adds aCompletionHandler, which will be notified once the asynchronous computation, represented by this Future, is complete.- Specified by:
addCompletionHandlerin interfaceGrizzlyFuture<R>- Parameters:
completionHandler-CompletionHandler
-
getResult
Get current result value without any blocking.- Specified by:
getResultin interfaceFutureImpl<R>- Returns:
- current result value without any blocking.
-
result
Set the result value and notify about operation completion.- Specified by:
resultin interfaceFutureImpl<R>- Parameters:
result- the result value
-
cancel
public boolean cancel(boolean mayInterruptIfRunning) -
isCancelled
public boolean isCancelled()- Specified by:
isCancelledin interfaceFuture<R>
-
isDone
public boolean isDone() -
get
- Specified by:
getin interfaceFuture<R>- Throws:
InterruptedExceptionExecutionException
-
get
public R get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException - Specified by:
getin interfaceFuture<R>- Throws:
InterruptedExceptionExecutionExceptionTimeoutException
-
failure
Notify about the failure, occured during asynchronous operation execution.- Specified by:
failurein interfaceFutureImpl<R>- Parameters:
failure-
-
notifyHaveResult
protected void notifyHaveResult()Notify blocked listeners threads about operation completion. -
markForRecycle
public void markForRecycle(boolean recycleResult) Description copied from interface:GrizzlyFutureMark GrizzlyFuture as recyclable, so once result will come - GrizzlyFuture object will be recycled and returned to a thread local object pool. You can consider to use this method, if you're not interested in using this GrizzlyFuture object.- Specified by:
markForRecyclein interfaceGrizzlyFuture<R>- Parameters:
recycleResult- if true - the GrizzlyFuture result, if it support recyclable mechanism, will be also recycled together with this GrizzlyFuture object.
-
reset
protected void reset() -
recycle
public void recycle(boolean recycleResult) Description copied from interface:GrizzlyFutureRecycle GrizzlyFuture now. This method could be used, if you're not interested in using this GrizzlyFuture object, and you're sure this object is not used by any other application part.- Specified by:
recyclein interfaceGrizzlyFuture<R>- Parameters:
recycleResult- if true - the GrizzlyFuture result, if it support recyclable mechanism, will be also recycled together with this GrizzlyFuture object.
-
recycle
public void recycle()
-