Package step.artefacts.handlers
Class CancellableSleep
- java.lang.Object
-
- step.artefacts.handlers.CancellableSleep
-
public class CancellableSleep extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static long
DEFAULT_CHECK_INTERVAL_MS
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
sleep(long duration, Supplier<Boolean> cancelCondition, long checkIntervalMs, String invocationContext)
Sleeps for a maximum of duration milliseconds, checking every checkIntervalMs milliseconds whether the cancelCondition is met, and cancelling the sleeping if so.static boolean
sleep(long duration, Supplier<Boolean> cancelCondition, Class<?> invokingClass)
-
-
-
Field Detail
-
DEFAULT_CHECK_INTERVAL_MS
public static final long DEFAULT_CHECK_INTERVAL_MS
- See Also:
- Constant Field Values
-
-
Method Detail
-
sleep
public static boolean sleep(long duration, Supplier<Boolean> cancelCondition, Class<?> invokingClass)
-
sleep
public static boolean sleep(long duration, Supplier<Boolean> cancelCondition, long checkIntervalMs, String invocationContext)
Sleeps for a maximum of duration milliseconds, checking every checkIntervalMs milliseconds whether the cancelCondition is met, and cancelling the sleeping if so.- Parameters:
duration
- number of milliseconds to sleepcancelCondition
- method which is invoked to verify if execution is to be cancelled. This method is invoked often, and in time-sensitive code, so it should return quickly.checkIntervalMs
- number of milliseconds between cancellation checks. A lower limit of 10 ms is enforced, but higher values (say, >= 100 ms) are strongly recommended.invocationContext
- indication of the context where the method invocation originated. Only used for logging, and may be null.- Returns:
- true if the entire sleep went through without being cancelled, false if it was cancelled.
-
-