object AskPattern
The ask-pattern implements the initiator side of a request–reply protocol.
Note that if you are inside of an actor you should prefer ActorContext.ask as that provides better safety.
The party that asks may be within or without an Actor, since the
implementation will fabricate a (hidden) ActorRef that is bound to a
CompletableFuture
. This ActorRef will need to be injected in the
message that is sent to the target Actor in order to function as a reply-to
address, therefore the argument to the ask method is not the message itself
but a function that given the reply-to address will create the message.
- Source
- AskPattern.scala
- Alphabetic
- By Inheritance
- AskPattern
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def ask[Req, Res](actor: RecipientRef[Req], messageFactory: Function[ActorRef[Res], Req], timeout: Duration, scheduler: Scheduler): CompletionStage[Res]
- Req
The request protocol, what the other actor accepts
- Res
The response protocol, what the other actor sends back
- def askWithStatus[Req, Res](actor: RecipientRef[Req], messageFactory: Function[ActorRef[StatusReply[Res]], Req], timeout: Duration, scheduler: Scheduler): CompletionStage[Res]
The same as ask but only for requests that result in a response of type akka.pattern.StatusReply.
The same as ask but only for requests that result in a response of type akka.pattern.StatusReply. If the response is a akka.pattern.StatusReply#success the returned future is completed successfully with the wrapped response. If the status response is a akka.pattern.StatusReply#error the returned future will be failed with the exception in the error (normally a akka.pattern.StatusReply.ErrorMessage).
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- 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()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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])