diff options
author | HÃ¥kon Hallingstad <hakon.hallingstad@gmail.com> | 2019-10-22 09:02:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-22 09:02:19 +0200 |
commit | eaa0a4ede51c5c0aee29deeb3f20dedaaf94404c (patch) | |
tree | 2de96057057b40142af041bd73f7dfab46285af2 /jdisc_core | |
parent | a88ae4030a8f8936cb6de96a29a0100429d6a691 (diff) |
Revert "Revert "Add Orchestrator application lock metrics""
Diffstat (limited to 'jdisc_core')
-rw-r--r-- | jdisc_core/src/main/java/com/yahoo/jdisc/core/SystemTimer.java | 7 | ||||
-rw-r--r-- | jdisc_core/src/main/java/com/yahoo/jdisc/test/TestTimer.java | 31 |
2 files changed, 38 insertions, 0 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/SystemTimer.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/SystemTimer.java index 15e234079b0..40fce9fec54 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/SystemTimer.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/SystemTimer.java @@ -3,6 +3,8 @@ package com.yahoo.jdisc.core; import com.yahoo.jdisc.Timer; +import java.time.Instant; + /** * A timer which returns the System time * @@ -14,4 +16,9 @@ public class SystemTimer implements Timer { public long currentTimeMillis() { return System.currentTimeMillis(); } + + @Override + public Instant currentTime() { + return Instant.now(); + } } diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/test/TestTimer.java b/jdisc_core/src/main/java/com/yahoo/jdisc/test/TestTimer.java new file mode 100644 index 00000000000..4d274a33a1f --- /dev/null +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/test/TestTimer.java @@ -0,0 +1,31 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.jdisc.test; + +import com.yahoo.jdisc.Timer; + +import java.time.Duration; + +/** + * A {@link Timer} to be used in tests when the advancement of time needs to be controlled. + * + * @author hakonhall + */ +public class TestTimer implements Timer { + private Duration durationSinceEpoch = Duration.ZERO; + + public void setMillis(long millisSinceEpoch) { + durationSinceEpoch = Duration.ofMillis(millisSinceEpoch); + } + + public void advanceMillis(long millis) { advance(Duration.ofMillis(millis)); } + public void advanceSeconds(long seconds) { advance(Duration.ofSeconds(seconds)); } + public void advanceMinutes(long minutes) { advance(Duration.ofMinutes(minutes)); } + public void advance(Duration duration) { + durationSinceEpoch = durationSinceEpoch.plus(duration); + } + + @Override + public long currentTimeMillis() { + return durationSinceEpoch.toMillis(); + } +} |