@ThreadSafe @ParametersAreNonnullByDefault public final class ExecutionContexts extends Object
Modifier and Type | Field and Description |
---|---|
static long |
DEFAULT_TIMEOUT_NANOS |
Modifier and Type | Method and Description |
---|---|
static void |
clearCurrentThread() |
static long |
computeDeadline(ExecutionContext current,
long timeout,
TimeUnit unit) |
static long |
computeDeadline(ExecutionContext current,
TimeUnit unit,
long timeout)
Deprecated.
use variant where the value and unit are it the natural order.
|
static long |
computeDeadline(long startTimeNanos,
ExecutionContext current,
TimeUnit unit,
long timeout) |
static long |
computeDeadline(long timeout,
TimeUnit unit) |
static long |
computeTimeout(long timeout,
TimeUnit unit) |
static TimeoutDeadline |
computeTimeoutDeadline(ExecutionContext current,
TimeUnit unit,
long timeout)
Compute the actual timeout taking in consideration the context deadline.
|
static ExecutionContext |
createDetached(String name,
CharSequence id,
ExecutionContext parent,
ExecutionContext.Relation relation,
long startTimeNanos,
long deadlineNanos) |
static ExecutionContext |
createDetached(String name,
ExecutionContext parent,
ExecutionContext.Relation relation,
long startTimeNanos,
long deadlineNanos) |
static ExecutionContext |
createDetached(String name,
ExecutionContext parent,
long startTimeNanos,
long deadlineNanos) |
static ExecutionContext |
createDetached(String name,
ExecutionContext parent,
long timeout,
TimeUnit tu) |
static ExecutionContext |
current() |
static <T> Callable<T> |
deadlinedPropagatingCallable(Callable<T> callable,
ExecutionContext ctx,
long deadlineNanos) |
static <T> Collection<? extends Callable<T>> |
deadlinedPropagatingCallables(Collection<? extends Callable<T>> tasks,
ExecutionContext ctx,
long deadlineNanos) |
static ThreadLocalContextAttacher |
defaultThreadLocalAttacher() |
static CharSequence |
genId() |
static long |
getContextDeadlineNanos() |
static long |
getContextDeadlineNanos(long currentTime) |
static ExecutionContextFactory<ExecutionContext> |
getContextFactory() |
static long |
getMillisToDeadline() |
static int |
getSecondsToDeadline() |
static long |
getTimeRelativeToDeadline(TimeUnit unit) |
static long |
getTimeToDeadline(TimeUnit unit) |
static int |
getTimeToDeadlineInt(TimeUnit unit) |
static long |
getTimeToDeadlineUnchecked(TimeUnit unit) |
static boolean |
inCurrentThread(ExecutionContext ctx) |
static <X,Y> BiConsumer<X,Y> |
propagatingBiConsumer(BiConsumer<X,Y> callable,
ExecutionContext ctx,
String name,
long deadlineNanos) |
static <X,Y,Z> BiFunction<X,Y,Z> |
propagatingBiFunction(BiFunction<X,Y,Z> callable,
ExecutionContext ctx,
String name,
long deadlineNanos) |
static <T> Callable<T> |
propagatingCallable(Callable<T> callable) |
static <T> Callable<T> |
propagatingCallable(Callable<T> callable,
ExecutionContext ctx) |
static <T> Callable<T> |
propagatingCallable(Callable<T> callable,
ExecutionContext ctx,
String name,
long deadlineNanos) |
static <T> Collection<? extends Callable<T>> |
propagatingCallables(Collection<? extends Callable<T>> tasks) |
static <T> Collection<? extends Callable<T>> |
propagatingCallables(Collection<? extends Callable<T>> tasks,
ExecutionContext ctx) |
static <X> Consumer<X> |
propagatingConsumer(Consumer<X> callable,
ExecutionContext ctx,
String name,
long deadlineNanos) |
static <X,Y> Function<X,Y> |
propagatingFunction(Function<X,Y> callable,
ExecutionContext ctx,
String name,
long deadlineNanos) |
static Runnable |
propagatingRunnable(Runnable runnable) |
static Runnable |
propagatingRunnable(Runnable runnable,
ExecutionContext ctx) |
static Runnable |
propagatingRunnable(Runnable runnable,
ExecutionContext ctx,
String name,
long deadlineNanos) |
static <X> Supplier<X> |
propagatingSupplier(Supplier<X> callable,
ExecutionContext ctx,
String name,
long deadlineNanos) |
static ExecutionContext |
start(ExecutionContext parent) |
static ExecutionContext |
start(ExecutionContext parent,
long startTimeNanos,
long deadlineNanos) |
static ExecutionContext |
start(ExecutionContext parent,
long timeout,
TimeUnit tu) |
static ExecutionContext |
start(long startTimeNanos,
long deadlineNanos)
start a execution context.
|
static ExecutionContext |
start(long timeout,
TimeUnit tu)
start a execution context.
|
static ExecutionContext |
start(String opname) |
static ExecutionContext |
start(String name,
CharSequence id,
ExecutionContext parent,
ExecutionContext.Relation relation,
long startTimeNanos,
long deadlineNanos) |
static ExecutionContext |
start(String name,
CharSequence id,
ExecutionContext parent,
long startTimeNanos,
long deadlineNanos) |
static ExecutionContext |
start(String name,
CharSequence id,
ExecutionContext parent,
long timeout,
TimeUnit tu) |
static ExecutionContext |
start(String name,
ExecutionContext parent) |
static ExecutionContext |
start(String name,
ExecutionContext parent,
long deadlineNanos) |
static ExecutionContext |
start(String name,
ExecutionContext parent,
long startTimeNanos,
long deadlineNanos) |
static ExecutionContext |
start(String name,
ExecutionContext parent,
long timeout,
TimeUnit tu) |
static ExecutionContext |
start(String name,
long deadlineNanos) |
static ExecutionContext |
start(String name,
long startTimeNanos,
long deadlineNanos) |
static ExecutionContext |
start(String opname,
long timeout,
TimeUnit tu) |
static ThreadLocalContextAttacher |
threadLocalAttacher() |
public static ThreadLocalContextAttacher defaultThreadLocalAttacher()
public static ThreadLocalContextAttacher threadLocalAttacher()
public static CharSequence genId()
public static ExecutionContextFactory<ExecutionContext> getContextFactory()
@Nullable public static ExecutionContext current()
public static boolean inCurrentThread(ExecutionContext ctx)
public static void clearCurrentThread()
public static ExecutionContext start(long startTimeNanos, long deadlineNanos)
deadlineNanos
- the deadline for this context. (System.nanotime)public static ExecutionContext start(long timeout, TimeUnit tu)
timeout
- tu
- public static ExecutionContext start(String opname)
public static ExecutionContext start(String opname, long timeout, TimeUnit tu)
public static ExecutionContext start(@Nullable ExecutionContext parent, long timeout, TimeUnit tu)
public static ExecutionContext start(@Nullable ExecutionContext parent)
public static ExecutionContext start(@Nullable ExecutionContext parent, long startTimeNanos, long deadlineNanos)
public static ExecutionContext start(String name, long startTimeNanos, long deadlineNanos)
public static ExecutionContext start(String name, long deadlineNanos)
public static ExecutionContext start(String name, @Nullable ExecutionContext parent)
public static ExecutionContext start(String name, @Nullable ExecutionContext parent, long timeout, TimeUnit tu)
public static ExecutionContext start(String name, @Nullable CharSequence id, @Nullable ExecutionContext parent, long timeout, TimeUnit tu)
public static ExecutionContext createDetached(String name, @Nullable ExecutionContext parent, long timeout, TimeUnit tu)
public static ExecutionContext start(String name, @Nullable ExecutionContext parent, long deadlineNanos)
public static ExecutionContext start(String name, @Nullable ExecutionContext parent, long startTimeNanos, long deadlineNanos)
public static ExecutionContext start(String name, @Nullable CharSequence id, @Nullable ExecutionContext parent, long startTimeNanos, long deadlineNanos)
public static ExecutionContext start(String name, @Nullable CharSequence id, @Nullable ExecutionContext parent, ExecutionContext.Relation relation, long startTimeNanos, long deadlineNanos)
public static ExecutionContext createDetached(String name, @Nullable ExecutionContext parent, long startTimeNanos, long deadlineNanos)
public static ExecutionContext createDetached(String name, @Nullable ExecutionContext parent, ExecutionContext.Relation relation, long startTimeNanos, long deadlineNanos)
public static ExecutionContext createDetached(String name, @Nullable CharSequence id, @Nullable ExecutionContext parent, ExecutionContext.Relation relation, long startTimeNanos, long deadlineNanos)
public static long getContextDeadlineNanos()
public static long getContextDeadlineNanos(long currentTime)
@Nonnegative public static long getTimeToDeadline(TimeUnit unit) throws TimeoutException
TimeoutException
@Nonnegative public static long getTimeToDeadlineUnchecked(TimeUnit unit)
@Nonnegative public static int getTimeToDeadlineInt(TimeUnit unit) throws TimeoutException
TimeoutException
@Nonnegative public static long getMillisToDeadline() throws TimeoutException
TimeoutException
@Nonnegative public static int getSecondsToDeadline() throws TimeoutException
TimeoutException
public static long computeDeadline(long timeout, TimeUnit unit)
public static long computeTimeout(long timeout, TimeUnit unit) throws TimeoutException
TimeoutException
@Deprecated public static long computeDeadline(@Nullable ExecutionContext current, TimeUnit unit, long timeout)
public static long computeDeadline(@Nullable ExecutionContext current, long timeout, TimeUnit unit)
public static long computeDeadline(long startTimeNanos, @Nullable ExecutionContext current, TimeUnit unit, long timeout)
public static TimeoutDeadline computeTimeoutDeadline(@Nullable ExecutionContext current, TimeUnit unit, long timeout) throws TimeoutException
current
- the contextunit
- timeout unittimeout
- timeout valueTimeoutException
public static <T> Callable<T> propagatingCallable(Callable<T> callable, ExecutionContext ctx)
public static <T> Collection<? extends Callable<T>> propagatingCallables(Collection<? extends Callable<T>> tasks)
public static <T> Collection<? extends Callable<T>> propagatingCallables(Collection<? extends Callable<T>> tasks, ExecutionContext ctx)
public static <T> Collection<? extends Callable<T>> deadlinedPropagatingCallables(Collection<? extends Callable<T>> tasks, ExecutionContext ctx, long deadlineNanos)
public static <T> Callable<T> deadlinedPropagatingCallable(Callable<T> callable, ExecutionContext ctx, long deadlineNanos)
public static Runnable propagatingRunnable(Runnable runnable, ExecutionContext ctx)
public static Runnable propagatingRunnable(Runnable runnable, ExecutionContext ctx, @Nullable String name, long deadlineNanos)
public static <T> Callable<T> propagatingCallable(Callable<T> callable, ExecutionContext ctx, @Nullable String name, long deadlineNanos)
public static <X,Y> Function<X,Y> propagatingFunction(Function<X,Y> callable, ExecutionContext ctx, @Nullable String name, long deadlineNanos)
public static <X,Y,Z> BiFunction<X,Y,Z> propagatingBiFunction(BiFunction<X,Y,Z> callable, ExecutionContext ctx, @Nullable String name, long deadlineNanos)
public static <X> Consumer<X> propagatingConsumer(Consumer<X> callable, ExecutionContext ctx, @Nullable String name, long deadlineNanos)
public static <X> Supplier<X> propagatingSupplier(Supplier<X> callable, ExecutionContext ctx, @Nullable String name, long deadlineNanos)
public static <X,Y> BiConsumer<X,Y> propagatingBiConsumer(BiConsumer<X,Y> callable, ExecutionContext ctx, @Nullable String name, long deadlineNanos)
Copyright © 2021 SPF4J. All rights reserved.