final case class AskInitiated[Req, Res, T](target: RecipientRef[Req], responseTimeout: FiniteDuration, responseClass: Class[Res])(askMessage: Req, forwardResponse: (Try[Res]) => Unit, mapResponse: (Try[Res]) => T) extends Effect with Product with Serializable
The behavior initiated an ask via its context. A response or timeout may be sent via this
effect to the asking behavior: this effect enforces that at most one response or timeout is
sent. Alternatively, one may, after obtaining the effect, test the response adaptation function
(without sending a message to the asking behavior) arbitrarily many times via the 'adaptResponse
and
adaptTimeout methods.
The 'replyToRef' is exposed so that the target inbox can expect the actual message sent to initiate the ask.
Note that this requires the ask to be initiated via the ActorContext. The Future returning ask is not testable in the BehaviorTestKit.
- Source
- Effect.scala
- Alphabetic
- By Inheritance
- AskInitiated
- Serializable
- Product
- Equals
- Effect
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new AskInitiated(target: RecipientRef[Req], responseTimeout: FiniteDuration, responseClass: Class[Res])(askMessage: Req, forwardResponse: (Try[Res]) => Unit, mapResponse: (Try[Res]) => T)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from AskInitiated[Req, Res, T] toany2stringadd[AskInitiated[Req, Res, T]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (AskInitiated[Req, Res, T], B)
- Implicit
- This member is added by an implicit conversion from AskInitiated[Req, Res, T] toArrowAssoc[AskInitiated[Req, Res, T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def adaptResponse(response: Res): T
- def adaptTimeout: T
- def adaptTimeout(msg: String): T
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val askMessage: Req
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def ensuring(cond: (AskInitiated[Req, Res, T]) => Boolean, msg: => Any): AskInitiated[Req, Res, T]
- Implicit
- This member is added by an implicit conversion from AskInitiated[Req, Res, T] toEnsuring[AskInitiated[Req, Res, T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (AskInitiated[Req, Res, T]) => Boolean): AskInitiated[Req, Res, T]
- Implicit
- This member is added by an implicit conversion from AskInitiated[Req, Res, T] toEnsuring[AskInitiated[Req, Res, T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): AskInitiated[Req, Res, T]
- Implicit
- This member is added by an implicit conversion from AskInitiated[Req, Res, T] toEnsuring[AskInitiated[Req, Res, T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): AskInitiated[Req, Res, T]
- Implicit
- This member is added by an implicit conversion from AskInitiated[Req, Res, T] toEnsuring[AskInitiated[Req, Res, T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def getResponseTimeout: Duration
Java API
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def respondWith(response: Res): Unit
- val responseClass: Class[Res]
- val responseTimeout: FiniteDuration
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val target: RecipientRef[Req]
- def timeout(): Unit
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from AskInitiated[Req, Res, T] toStringFormat[AskInitiated[Req, Res, T]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (AskInitiated[Req, Res, T], B)
- Implicit
- This member is added by an implicit conversion from AskInitiated[Req, Res, T] toArrowAssoc[AskInitiated[Req, Res, T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.