LifetimeDefinition

Constructors

Link copied to clipboard
constructor(parent: Lifetime)
constructor()

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
open override val coroutineScope: CoroutineScope
Link copied to clipboard
var id: Any?

You can optionally set this identification information to see logs with lifetime's id other than anonymousLifetimeId"/>

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val status: LifetimeStatus
Link copied to clipboard

Gets or sets termination timeout kind for the definition.

Functions

Link copied to clipboard
fun add(action: () -> Unit)
Link copied to clipboard
Link copied to clipboard
fun <T> Lifetime.async(scheduler: IScheduler, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> T): Deferred<T>
fun <T> Lifetime.async(context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> T): Deferred<T>
Link copied to clipboard
open override fun attach(child: LifetimeDefinition, inheritTimeoutKind: Boolean)
Link copied to clipboard
fun <T : Any> bracket(opening: () -> T, terminationAction: () -> Unit): T?
Link copied to clipboard
open override fun <T : Any> bracketIfAlive(opening: () -> T, terminationAction: () -> Unit): T?
Link copied to clipboard
open override fun <T : Any> bracketIfAliveEx(opening: () -> T, terminationAction: (T) -> Unit): T?
Link copied to clipboard
open override fun <T : Any> bracketOrThrow(opening: () -> T, terminationAction: () -> Unit): T
Link copied to clipboard
open override fun <T : Any> bracketOrThrowEx(opening: () -> T, terminationAction: (T) -> Unit): T
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun Lifetime.createTerminatedAfter(duration: Duration, terminationContext: CoroutineContext): Lifetime
Link copied to clipboard
Link copied to clipboard
open override fun <T : Any> executeIfAlive(action: () -> T): T?
Link copied to clipboard
open override fun <T : Any> executeOrThrow(action: () -> T): T
Link copied to clipboard
fun <T : Any> ifAlive(action: () -> T): T?
Link copied to clipboard

Creates an intersection of some lifetimes: new lifetime that terminate when either one terminates. Created lifetime inherits the smallest terminationTimeoutKind

Link copied to clipboard
fun Lifetime.launch(scheduler: IScheduler, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> Unit): Job
fun Lifetime.launch(context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> Unit): Job
Link copied to clipboard
open override fun onTermination(closeable: Closeable)
open override fun onTermination(action: () -> Unit)
Link copied to clipboard
fun Lifetime.onTermination(action: () -> Unit)
Link copied to clipboard
open override fun onTerminationIfAlive(closeable: Closeable): Boolean
open override fun onTerminationIfAlive(action: () -> Unit): Boolean
Link copied to clipboard
operator fun Lifetime.plusAssign(action: () -> Unit)
Link copied to clipboard
fun LifetimeDefinition.synchronizeWith(scope: CoroutineScope, supportsTerminationUnderExecution: Boolean = false)
fun LifetimeDefinition.synchronizeWith(job: Job, supportsTerminationUnderExecution: Boolean = false)
Link copied to clipboard
fun terminate(supportsTerminationUnderExecuting: Boolean = false): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
inline fun <T> usingNested(action: (Lifetime) -> T): T
Link copied to clipboard
inline fun <T> Lifetime.view(viewable: IViewable<T>, crossinline handler: Lifetime.(T) -> Unit)
Link copied to clipboard
inline fun <T : Any> Lifetime.viewNotNull(viewable: IViewable<T?>, crossinline handler: Lifetime.(T) -> Unit)
Link copied to clipboard