diff options
Diffstat (limited to 'http-utils/src/main/java/ai/vespa/util/http/retry/Sleeper.java')
-rw-r--r-- | http-utils/src/main/java/ai/vespa/util/http/retry/Sleeper.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/http-utils/src/main/java/ai/vespa/util/http/retry/Sleeper.java b/http-utils/src/main/java/ai/vespa/util/http/retry/Sleeper.java new file mode 100644 index 00000000000..06a7359f307 --- /dev/null +++ b/http-utils/src/main/java/ai/vespa/util/http/retry/Sleeper.java @@ -0,0 +1,26 @@ +// Copyright 2020 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package ai.vespa.util.http.retry; + +import java.time.Duration; + +/** + * An abstraction used for mocking {@link Thread#sleep(long)} in unit tests. + * + * @author bjorncs + */ +interface Sleeper { + void sleep(Duration duration); + + class Default implements Sleeper { + @Override + public void sleep(Duration duration) { + try { + Thread.sleep(duration.toMillis()); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new RuntimeException(e); + } + } + } +} + |