KT-58046 Generalize saturating duration math to arbitrary units

This commit is contained in:
Ilya Gorbunov
2023-04-09 16:42:46 +02:00
committed by Space Team
parent 17d977977c
commit 7a6947ad35
3 changed files with 48 additions and 42 deletions
@@ -16,13 +16,13 @@ internal actual object MonotonicTimeSource : TimeSource.WithComparableMarks {
actual override fun markNow(): ValueTimeMark = ValueTimeMark(read())
actual fun elapsedFrom(timeMark: ValueTimeMark): Duration =
saturatingDiff(read(), timeMark.reading)
saturatingDiff(read(), timeMark.reading, DurationUnit.NANOSECONDS)
actual fun differenceBetween(one: ValueTimeMark, another: ValueTimeMark): Duration =
saturatingOriginsDiff(one.reading, another.reading)
saturatingOriginsDiff(one.reading, another.reading, DurationUnit.NANOSECONDS)
actual fun adjustReading(timeMark: ValueTimeMark, duration: Duration): ValueTimeMark =
ValueTimeMark(saturatingAdd(timeMark.reading, duration))
ValueTimeMark(saturatingAdd(timeMark.reading, DurationUnit.NANOSECONDS, duration))
}
@Suppress("ACTUAL_WITHOUT_EXPECT") // visibility