Interface Invocable

All Known Subinterfaces:
Blocker.Callback, Blocker.Promise<C>, Blocker.Runnable, Callback, Callback.Completing, Invocable.Callable, Invocable.Task, Promise.Invocable<R>
All Known Implementing Classes:
Callback.Completable, Callback.Nested, CountingCallback, FutureCallback, Invocable.ReadyTask, Invocable.Task.Abstract, IteratingCallback, IteratingNestedCallback, Promise.Invocable.Abstract, Promise.Invocable.NonBlocking, SharedBlockingCallback.Blocker

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.