Interface Invocable

All Known Subinterfaces:
Blocker.Callback, Blocker.Promise<C>, Blocker.Runnable, Callback, Callback.Completing, Handler, Handler.Collection, Handler.Container, Handler.Singleton, HandlerContainer, HttpChannel, HttpStream, Invocable.Callable, Invocable.Task, Promise.Invocable<R>, Request.Handler
All Known Implementing Classes:
AbstractConnection, AbstractHandler, AbstractHandlerContainer, AbstractMetaDataConnection, ALPNClientConnection, ALPNServerConnection, ArchitectureDocs.EitherTask, AsyncMiddleManServlet.ProxyReader, AsyncMiddleManServlet.ProxyReader, AsyncMiddleManServlet.ProxyReader, AsyncMiddleManServlet.ProxyResponseListener, AsyncMiddleManServlet.ProxyResponseListener, AsyncMiddleManServlet.ProxyResponseListener, AsyncMiddleManServlet.ProxyWriter, AsyncMiddleManServlet.ProxyWriter, AsyncMiddleManServlet.ProxyWriter, AsyncProxyServlet.StreamReader, AsyncProxyServlet.StreamReader, AsyncProxyServlet.StreamReader, BufferedResponseHandler, Callback.Completable, Callback.Nested, ClientQuicConnection, ConditionalHandler, ConditionalHandler.Abstract, ConditionalHandler.DontHandle, ConditionalHandler.ElseNext, ConditionalHandler.Reject, ConditionalHandler.SkipNext, ConnectHandler, ConnectHandler.DownstreamConnection, ConnectHandler.UpstreamConnection, ConstraintSecurityHandler, ContentSourceCompletableFuture, ContextHandler, ContextHandler.CoreContextHandler, ContextHandler.CoreContextHandler, ContextHandler.CoreContextRequest, ContextHandler.CoreContextRequest, ContextHandlerCollection, ContextRequest, ControlFlusher, CountingCallback, CrossOriginHandler, DebugHandler, DecoderStreamConnection, DefaultHandler, DelayedHandler, DemandingFlusher, EagerFormHandler, EncoderStreamConnection, ErrorHandler, ErrorHandler, ErrorPageErrorHandler, EventsHandler, FastCGIProxyHandler, FormFields, FutureCallback, GracefulHandler, GzipHandler, GzipResponseAndCallback, Handler.Abstract, Handler.Abstract.NonBlocking, Handler.AbstractContainer, Handler.Sequence, Handler.Wrapper, HotSwapHandler, HTTP2Connection, HTTP2Session.Entry, HTTP2Stream, HTTP3StreamConnection, HttpDestination, HttpInput.Content, HttpInput.Content, HttpInput.EofContent, HttpInput.EofContent, HttpInput.ErrorContent, HttpInput.ErrorContent, HttpInput.SpecialContent, HttpInput.SpecialContent, HttpInput.WrappingContent, HttpInput.WrappingContent, HttpSpiContextHandler, HttpStream.Wrapper, IdleTimeoutHandler, InetAccessHandler, InstructionFlusher, InstructionStreamConnection, Invocable.ReadyTask, Invocable.Task.Abstract, IteratingCallback, IteratingNestedCallback, LatencyRecordingHandler, MessageFlusher, MovedContextHandler, NegotiatingClientConnection, NegotiatingServerConnection, PathMappingsHandler, ProxyHandler, ProxyHandler.Forward, ProxyHandler.ProxyResponseListener, ProxyHandler.Reverse, ProxyProtocolClientConnectionFactory.ProxyProtocolConnection, QoSHandler, QuicConnection, ReHandlingErrorHandler, ReHandlingErrorHandler.ByHttpStatus, ResourceHandler, ResourceHandler.ResourceContext, RewriteHandler, SecuredRedirectHandler, SecurityHandler, SecurityHandler.PathMapped, SendHandlerCallback, SendHandlerCallback, SendHandlerCallback, Server, ServerDocs.JSONHTTPConnection, ServerQuicConnection, ServerWebSocketContainer, ServletContextHandler, ServletContextRequest, ServletHandler, ServletToHandlerDocs.RequestAPIs, ServletToHandlerDocs.RequestContentAPIsByteBuffer, ServletToHandlerDocs.RequestContentAPIsFormFields, ServletToHandlerDocs.RequestContentAPIsInputStream, ServletToHandlerDocs.RequestContentAPIsMultiPart, ServletToHandlerDocs.RequestContentAPIsSource, ServletToHandlerDocs.RequestContentAPIsString, ServletToHandlerDocs.ResponseAPIs, ServletToHandlerDocs.ResponseContentAPIEcho, ServletToHandlerDocs.ResponseContentAPIFlush, ServletToHandlerDocs.ResponseContentAPIsExplicit, ServletToHandlerDocs.ResponseContentAPISimpleContent, ServletToHandlerDocs.ResponseContentAPIsImplicit, ServletToHandlerDocs.ResponseContentAPIsImplicitWithStatus, ServletToHandlerDocs.ResponseContentAPIString, ServletToHandlerDocs.ResponseContentAPITrailers, SessionHandler, SessionHandler, SharedBlockingCallback.Blocker, ShutdownHandler, SizeLimitHandler, SizeLimitHandler, SslConnection, StateTrackingHandler, StatisticsHandler, StatisticsHandler.MinimumDataRateHandler, ThreadLimitHandler, TryPathsHandler, UnidirectionalStreamConnection, WebAppContext, WebSocketConnection, WebSocketUpgradeHandler, WebSocketUpgradeHandler

public interface Invocable

A task (typically either a Runnable or Invocable.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.