diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-15 15:11:15 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-15 15:14:02 +0200 |
commit | f303d9e78873d6916634865517dc9744cf7f99c3 (patch) | |
tree | 063fc1fab0b51e4fea1b9338d31e518a89ca327f /vespajlib | |
parent | c9cd995047022d19e416109a21d6ef45eaa33eaf (diff) |
Move Sleeper to yolean and simplify
Diffstat (limited to 'vespajlib')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/concurrent/Sleeper.java | 42 | ||||
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/concurrent/UncheckedInterruptedException.java | 27 |
2 files changed, 0 insertions, 69 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/concurrent/Sleeper.java b/vespajlib/src/main/java/com/yahoo/concurrent/Sleeper.java deleted file mode 100644 index 53478e37a86..00000000000 --- a/vespajlib/src/main/java/com/yahoo/concurrent/Sleeper.java +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.concurrent; - -import java.time.Duration; - -/** - * An abstraction used for mocking {@link Thread#sleep(long)} in unit tests. - * - * @author bjorncs - */ -public interface Sleeper { - default void sleep(Duration duration) throws UncheckedInterruptedException { - uncheck(() -> sleepChecked(duration.toMillis())); - } - - default void sleepChecked(Duration duration) throws InterruptedException { sleepChecked(duration.toMillis()); } - - default void sleep(long millis) throws UncheckedInterruptedException { uncheck(() -> sleepChecked(millis)); } - - void sleepChecked(long millis) throws InterruptedException; - - Sleeper DEFAULT = new Default(); - Sleeper NOOP = new Noop(); - - private void uncheck(InterruptingRunnable runnable) { - try { - runnable.run(); - } catch (InterruptedException e) { - throw new UncheckedInterruptedException(e); - } - } -} - -interface InterruptingRunnable { void run() throws InterruptedException; } - -class Default implements Sleeper { - @Override public void sleepChecked(long millis) throws InterruptedException { Thread.sleep(millis); } -} - -class Noop implements Sleeper { - @Override public void sleepChecked(long millis) {} -} diff --git a/vespajlib/src/main/java/com/yahoo/concurrent/UncheckedInterruptedException.java b/vespajlib/src/main/java/com/yahoo/concurrent/UncheckedInterruptedException.java deleted file mode 100644 index 1f8f45bace9..00000000000 --- a/vespajlib/src/main/java/com/yahoo/concurrent/UncheckedInterruptedException.java +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.concurrent; - -/** - * Wraps an {@link InterruptedException} with an unchecked exception. - * - * @author bjorncs - */ -public class UncheckedInterruptedException extends RuntimeException { - - public UncheckedInterruptedException(String message, InterruptedException cause, boolean restoreInterruptFlag) { - super(message, cause); - if (restoreInterruptFlag) Thread.currentThread().interrupt(); - } - - public UncheckedInterruptedException(InterruptedException cause, boolean restoreInterruptFlags) { - this(cause.toString(), cause, restoreInterruptFlags); - } - - public UncheckedInterruptedException(String message, boolean restoreInterruptFlag) { this(message, null, false); } - - public UncheckedInterruptedException(String message, InterruptedException cause) { this(message, cause, false); } - - public UncheckedInterruptedException(InterruptedException cause) { this(cause.toString(), cause, false); } - - @Override public InterruptedException getCause() { return (InterruptedException) super.getCause(); } -} |