trait StagedFuture[T] extends Future[T]
A staged future represents both asynchronous acceptance and asynchronous fulfilment of a piece of work.
By explicitly representing asynchronous acceptance, consumers can implement backpressure without resorting to synchronous blocking.
It's conceptually just a Future[Future[T]]
, where the outer future is
resolved once the receiver has accepted the work, and the inner future
is resolved once the work is actually complete. For convenience, it also
implements Future[T] so you can wait for the final result easily when
necessary.
The only additional methods on top of Future are:
- Alphabetic
- By Inheritance
- StagedFuture
- Future
- Awaitable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def accepted: Future[Future[T]]
- abstract def isAccepted: Boolean
-
abstract
def
isCompleted: Boolean
- Definition Classes
- Future
- abstract def onAccept[U](fn: (Future[T]) ⇒ U)(implicit ex: ExecutionContext): Unit
-
abstract
def
onComplete[U](f: (Try[T]) ⇒ U)(implicit executor: ExecutionContext): Unit
- Definition Classes
- Future
-
abstract
def
ready(atMost: Duration)(implicit permit: CanAwait): StagedFuture.this.type
- Definition Classes
- Awaitable
- Annotations
- @throws( ... ) @throws( ... )
-
abstract
def
result(atMost: Duration)(implicit permit: CanAwait): T
- Definition Classes
- Awaitable
- Annotations
- @throws( classOf[java.lang.Exception] )
-
abstract
def
transform[S](f: (Try[T]) ⇒ Try[S])(implicit executor: ExecutionContext): Future[S]
- Definition Classes
- Future
-
abstract
def
transformWith[S](f: (Try[T]) ⇒ Future[S])(implicit executor: ExecutionContext): Future[S]
- Definition Classes
- Future
-
abstract
def
value: Option[Try[T]]
- Definition Classes
- Future
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
andThen[U](pf: PartialFunction[Try[T], U])(implicit executor: ExecutionContext): Future[T]
- Definition Classes
- Future
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
collect[S](pf: PartialFunction[T, S])(implicit executor: ExecutionContext): Future[S]
- Definition Classes
- Future
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
failed: Future[Throwable]
- Definition Classes
- Future
-
def
fallbackTo[U >: T](that: Future[U]): Future[U]
- Definition Classes
- Future
-
def
filter(p: (T) ⇒ Boolean)(implicit executor: ExecutionContext): Future[T]
- Definition Classes
- Future
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
flatMap[S](f: (T) ⇒ Future[S])(implicit executor: ExecutionContext): Future[S]
- Definition Classes
- Future
-
def
flatten[S](implicit ev: <:<[T, Future[S]]): Future[S]
- Definition Classes
- Future
-
def
foreach[U](f: (T) ⇒ U)(implicit executor: ExecutionContext): Unit
- Definition Classes
- Future
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
map[S](f: (T) ⇒ S)(implicit executor: ExecutionContext): Future[S]
- Definition Classes
- Future
-
def
mapTo[S](implicit tag: ClassTag[S]): Future[S]
- Definition Classes
- Future
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
recover[U >: T](pf: PartialFunction[Throwable, U])(implicit executor: ExecutionContext): Future[U]
- Definition Classes
- Future
-
def
recoverWith[U >: T](pf: PartialFunction[Throwable, Future[U]])(implicit executor: ExecutionContext): Future[U]
- Definition Classes
- Future
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
transform[S](s: (T) ⇒ S, f: (Throwable) ⇒ Throwable)(implicit executor: ExecutionContext): Future[S]
- Definition Classes
- Future
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
withFilter(p: (T) ⇒ Boolean)(implicit executor: ExecutionContext): Future[T]
- Definition Classes
- Future
-
def
zip[U](that: Future[U]): Future[(T, U)]
- Definition Classes
- Future
-
def
zipWith[U, R](that: Future[U])(f: (T, U) ⇒ R)(implicit executor: ExecutionContext): Future[R]
- Definition Classes
- Future
Deprecated Value Members
-
def
onFailure[U](pf: PartialFunction[Throwable, U])(implicit executor: ExecutionContext): Unit
- Definition Classes
- Future
- Annotations
- @deprecated
- Deprecated
(Since version 2.12.0) use
onComplete
orfailed.foreach
instead (keep in mind that they take total rather than partial functions)
-
def
onSuccess[U](pf: PartialFunction[T, U])(implicit executor: ExecutionContext): Unit
- Definition Classes
- Future
- Annotations
- @deprecated
- Deprecated
(Since version 2.12.0) use
foreach
oronComplete
instead (keep in mind that they take total rather than partial functions)