W3cubDocs

/Kotlin

AbstractLongTimeSource

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)
@ExperimentalTime abstract class AbstractLongTimeSource : 
    TimeSource

An abstract class used to implement time sources that return their readings as Long values in the specified unit.

Constructors

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

<init>

An abstract class used to implement time sources that return their readings as Long values in the specified unit.

AbstractLongTimeSource(unit: DurationUnit)

Properties

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

unit

The unit in which this time source's readings are expressed.

val unit: DurationUnit

Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

markNow

Marks a point in time on this time source.

open fun markNow(): TimeMark
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

read

This protected method should be overridden to return the current reading of the time source expressed as a Long number in the unit specified by the unit property.

abstract fun read(): Long

Extension Functions

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

measureTime

Executes the given function block and returns the duration of elapsed time interval.

fun TimeSource.measureTime(block: () -> Unit): Duration
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

measureTimedValue

Executes the given block and returns an instance of TimedValue class, containing both the result of function execution and the duration of elapsed time interval.

fun <T> TimeSource.measureTimedValue(
    block: () -> T
): TimedValue<T>

Inheritors

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

TestTimeSource

A time source that has programmatically updatable readings. It is useful as a predictable source of time in tests.

class TestTimeSource : AbstractLongTimeSource

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.time/-abstract-long-time-source/index.html