Extensions for java.util.concurrent.CompletionStage

asDeferred

fun <T> CompletionStage<T>.asDeferred(): Deferred<T>

Converts this completion stage to an instance of Deferred. When this completion stage is an instance of Future, then it is cancelled when the resulting deferred is cancelled.

await

suspend fun <T> CompletionStage<T>.await(): T

Awaits for completion of the completion stage without blocking a thread.