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, AsyncMiddleManServlet.ProxyReader, AsyncMiddleManServlet.ProxyResponseListener, AsyncProxyServlet.StreamReader, BufferedResponseHandler, Callback.Completable, Callback.Nested, ClientQuicConnection, CompletionStreamWrapper, ConditionalHandler, ConditionalHandler.Abstract, ConditionalHandler.DontHandle, ConditionalHandler.ElseNext, ConditionalHandler.Reject, ConditionalHandler.SkipNext, ConnectHandler, ConnectHandler.DownstreamConnection, ConnectHandler.UpstreamConnection, ConstraintSecurityHandler, ContentCopier, ContentSourceByteBuffer, ContentSourceCompletableFuture, ContentSourceConsumer, ContextHandler, ContextHandlerCollection, ContextRequest, ControlFlusher, CountingCallback, CrossOriginHandler, DebugHandler, DecoderStreamConnection, DefaultHandler, DelayedHandler, DemandingFlusher, EagerFormHandler, EncoderStreamConnection, ErrorHandler, ErrorHandler, ErrorPageErrorHandler, EventsHandler, FastCGIProxyHandler, FormFields, FragmentExtension.FragmentingDemandingFlusher, FrameFlusher, FutureCallback, GracefulHandler, GzipHandler, GzipResponseAndCallback, Handler.Abstract, Handler.Abstract.NonBlocking, Handler.AbstractContainer, Handler.Sequence, Handler.Wrapper, HotSwapHandler, HTTP2Connection, HTTP2Flusher, HTTP2ServerConnection, HTTP2Session.Entry, HTTP2Stream, HTTP3StreamConnection, HttpChannelState, HttpChannelState.ChannelResponse, HttpConnection, HttpConnection.HttpStreamOverHTTP1, HttpConnectionOverFCGI, HttpConnectionOverHTTP, HttpDestination, HttpSpiContextHandler, HttpStream.Wrapper, HttpStreamOverFCGI, HttpStreamOverHTTP2, 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, Server, ServerFCGIConnection, ServerQuicConnection, ServerWebSocketContainer, ServletContextHandler, ServletContextRequest, ServletHandler, SessionHandler, SessionHandler, SharedBlockingCallback.Blocker, ShutdownHandler, 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.