Package org.eclipse.jetty.util.thread
Interface Invocable
- 
- All Known Subinterfaces:
- Callback
 - All Known Implementing Classes:
- AsyncMiddleManServlet.ProxyReader,- AsyncMiddleManServlet.ProxyResponseListener,- AsyncProxyServlet.StreamReader,- BlockingWriteCallback.WriteBlocker,- Callback.Completable,- Callback.Completing,- Callback.Nested,- CompletableCallback,- CountingCallback,- DeferredContentProvider,- DisconnectCallback,- FrameFlusher,- FutureCallback,- FutureWriteCallback,- Generator.Result,- HTTP2Flusher,- HTTP2Flusher.Entry,- HTTP2Stream,- HttpContent,- HttpDestination,- HttpDestinationOverFCGI,- HttpDestinationOverHTTP,- HttpDestinationOverHTTP2,- HttpInput.Content,- HttpInput.EofContent,- HttpInput.SentinelContent,- InputStreamContentProvider,- IteratingCallback,- IteratingNestedCallback,- MultiplexHttpDestination,- MultiplexHttpDestinationOverFCGI,- OutputStreamContentProvider,- PoolingHttpDestination,- ProxyProtocolClientConnectionFactory.ProxyProtocolConnection,- ProxyServlet.ProxyInputStreamContentProvider,- SharedBlockingCallback.Blocker
 
 public interface InvocableA task (typically either a RunnableorCallablethat declares how it will behave when invoked:- blocking, the invocation will certainly block (e.g. performs blocking I/O)
- non-blocking, the invocation will certainly not block
- either, the invocation may block
 Static methods and are provided that allow the current thread to be tagged with a ThreadLocalto indicate if it has a blocking invocation type.
- 
- 
Nested Class SummaryNested Classes Modifier and Type Interface Description static classInvocable.InvocationType
 - 
Field SummaryFields Modifier and Type Field Description static java.lang.ThreadLocal<java.lang.Boolean>__nonBlocking
 - 
Method SummaryAll Methods Static Methods Instance Methods Default Methods Modifier and Type Method Description static Invocable.InvocationTypecombine(Invocable.InvocationType it1, Invocable.InvocationType it2)default Invocable.InvocationTypegetInvocationType()static Invocable.InvocationTypegetInvocationType(java.lang.Object o)Get the invocation type of an Object.static voidinvokeNonBlocking(java.lang.Runnable task)Invoke a task with the calling thread, tagged to indicate that it will not block.static booleanisNonBlockingInvocation()Test if the current thread has been tagged as non blocking
 
- 
- 
- 
Method Detail- 
isNonBlockingInvocationstatic boolean isNonBlockingInvocation() Test if the current thread has been tagged as non blocking- Returns:
- True if the task the current thread is running has indicated that it will not block.
 
 - 
invokeNonBlockingstatic void invokeNonBlocking(java.lang.Runnable task) Invoke a task with the calling thread, tagged to indicate that it will not block.- Parameters:
- task- The task to invoke.
 
 - 
combinestatic Invocable.InvocationType combine(Invocable.InvocationType it1, Invocable.InvocationType it2) 
 - 
getInvocationTypestatic Invocable.InvocationType getInvocationType(java.lang.Object o) Get the invocation type of an Object.- Parameters:
- o- The object to check the invocation type of.
- Returns:
- If the object is an Invocable, it is coerced and the getInvocationType()used, otherwiseInvocable.InvocationType.BLOCKINGis returned.
 
 - 
getInvocationTypedefault Invocable.InvocationType getInvocationType() - Returns:
- The InvocationType of this object
 
 
- 
 
-