Interface Invocable

All Known Subinterfaces:
Callback, Invocable.Task
All Known Implementing Classes:
AsyncMiddleManServlet.ProxyReader, AsyncMiddleManServlet.ProxyResponseListener, AsyncProxyServlet.StreamReader, Callback.Completable, Callback.Completing, Callback.Nested, ControlFlusher, CountingCallback, DeferredContentProvider, DemandingFlusher, DuplexHttpDestination, FragmentExtension.FragmentingDemandingFlusher, FrameFlusher, FutureCallback, Generator.Result, HTTP2Flusher, HTTP2Flusher.Entry, HTTP2Stream, HttpDestination, HttpInput.Content, HttpInput.EofContent, HttpInput.ErrorContent, HttpInput.SpecialContent, HttpInput.WrappingContent, InputStreamContentProvider, InstructionFlusher, Invocable.ReadyTask, IteratingCallback, IteratingNestedCallback, MessageFlusher, MultiplexHttpDestination, OutputStreamContentProvider, ProxyProtocolClientConnectionFactory.ProxyProtocolConnection, RequestContentAdapter, SendHandlerCallback, SharedBlockingCallback.Blocker

public interface Invocable

A task (typically either a Runnable or Callable that 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 ThreadLocal to indicate if it has a blocking invocation type.