aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/notenoughupdates/util/TimeMark.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/moe/nea/notenoughupdates/util/TimeMark.kt')
-rw-r--r--src/main/kotlin/moe/nea/notenoughupdates/util/TimeMark.kt15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/notenoughupdates/util/TimeMark.kt b/src/main/kotlin/moe/nea/notenoughupdates/util/TimeMark.kt
new file mode 100644
index 0000000..5196606
--- /dev/null
+++ b/src/main/kotlin/moe/nea/notenoughupdates/util/TimeMark.kt
@@ -0,0 +1,15 @@
+package moe.nea.notenoughupdates.util
+
+import kotlin.time.Duration
+import kotlin.time.ExperimentalTime
+import kotlin.time.TimeSource
+
+@OptIn(ExperimentalTime::class)
+class TimeMark private constructor(private val timeMark: TimeSource.Monotonic.ValueTimeMark?) {
+ fun passedTime() = timeMark?.elapsedNow() ?: Duration.INFINITE
+
+ companion object {
+ fun now() = TimeMark(TimeSource.Monotonic.markNow())
+ fun farPast() = TimeMark(null)
+ }
+}