Package uk.ac.ebi.utils.runcontrol
Class XTimeLimiter
java.lang.Object
uk.ac.ebi.utils.runcontrol.XTimeLimiter
- All Implemented Interfaces:
com.google.common.util.concurrent.TimeLimiter
An extension of
TimeLimiter
to ease the use of SimpleTimeLimiter
, by offering
a suitable internal ExecutorService
and by throwing unchecked exceptions.- Author:
- Marco Brandizi
- Date:
- 6 Jun 2025
-
Method Summary
Modifier and TypeMethodDescription<T> T
callUninterruptiblyWithTimeout
(Callable<T> callable, long timeoutDuration, TimeUnit timeoutUnit) <T> T
callUninterruptiblyWithTimeout
(Callable<T> callable, Duration timeout) <T> T
callWithTimeout
(Callable<T> callable, long timeoutDuration, TimeUnit timeoutUnit) <T> T
callWithTimeout
(Callable<T> callable, Duration timeout) static XTimeLimiter
create()
Uses a defaultExecutorService
static XTimeLimiter
create
(ExecutorService executorService) <T> T
<T> T
void
runUninterruptiblyWithTimeout
(Runnable runnable, long timeoutDuration, TimeUnit timeoutUnit) void
runUninterruptiblyWithTimeout
(Runnable runnable, Duration timeout) void
runWithTimeout
(Runnable runnable, long timeoutDuration, TimeUnit timeoutUnit) void
runWithTimeout
(Runnable runnable, Duration timeout)
-
Method Details
-
create
-
create
Uses a defaultExecutorService
-
newProxy
- Specified by:
newProxy
in interfacecom.google.common.util.concurrent.TimeLimiter
-
newProxy
- Specified by:
newProxy
in interfacecom.google.common.util.concurrent.TimeLimiter
-
callWithTimeout
- Specified by:
callWithTimeout
in interfacecom.google.common.util.concurrent.TimeLimiter
-
callWithTimeout
- Specified by:
callWithTimeout
in interfacecom.google.common.util.concurrent.TimeLimiter
-
callUninterruptiblyWithTimeout
public <T> T callUninterruptiblyWithTimeout(Callable<T> callable, long timeoutDuration, TimeUnit timeoutUnit) - Specified by:
callUninterruptiblyWithTimeout
in interfacecom.google.common.util.concurrent.TimeLimiter
-
callUninterruptiblyWithTimeout
- Specified by:
callUninterruptiblyWithTimeout
in interfacecom.google.common.util.concurrent.TimeLimiter
-
runWithTimeout
- Specified by:
runWithTimeout
in interfacecom.google.common.util.concurrent.TimeLimiter
-
runWithTimeout
- Specified by:
runWithTimeout
in interfacecom.google.common.util.concurrent.TimeLimiter
-
runUninterruptiblyWithTimeout
public void runUninterruptiblyWithTimeout(Runnable runnable, long timeoutDuration, TimeUnit timeoutUnit) - Specified by:
runUninterruptiblyWithTimeout
in interfacecom.google.common.util.concurrent.TimeLimiter
-
runUninterruptiblyWithTimeout
- Specified by:
runUninterruptiblyWithTimeout
in interfacecom.google.common.util.concurrent.TimeLimiter
-