com.digitalasset.canton.lifecycle
FutureUnlessShutdownImpl
Companion object FutureUnlessShutdownImpl
sealed abstract class FutureUnlessShutdownImpl extends AnyRef
Monad combination of Future
and UnlessShutdown
We avoid wrapping and unwrapping it by emulating Scala 3's opaque types.
This makes the asynchronous detection magic work out of the box for FutureUnlessShutdown
because FutureUnlessShutdown(x).isInstanceOf[Future]
holds at runtime.
- Alphabetic
- By Inheritance
- FutureUnlessShutdownImpl
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type FutureUnlessShutdown[+A] <: Awaitable[UnlessShutdown[A]]
The abstract type of a scala.concurrent.Future containing a UnlessShutdown.
The abstract type of a scala.concurrent.Future containing a UnlessShutdown. We can't make it a subtype of scala.concurrent.Future
[
UnlessShutdown]
itself because we want to change the signature and implementation of some methods like scala.concurrent.Future.flatMap. So FutureUnlessShutdown up-casts only into an scala.concurrent.Awaitable.The canonical name for this type would be
T
, butFutureUnlessShutdown
gives better error messages.- Annotations
- @DoNotDiscardLikeFuture() @DoNotTraverseLikeFuture()