Flow.ask
Use the ask
pattern to send a request-reply message to the target ref
actor.
Signature
def ask[S](ref: ActorRef)(implicit timeout: Timeout, tag: ClassTag[S]): Repr[S]
def ask[S](parallelism: Int)(ref: ActorRef)(implicit timeout: Timeout, tag: ClassTag[S]): Repr[S]
Description
Use the ask
pattern to send a request-reply message to the target ref
actor. If any of the asks times out it will fail the stream with a AskTimeoutException
.
The mapTo
class parameter is used to cast the incoming responses to the expected response type.
Similar to the plain ask pattern, the target actor is allowed to reply with akka.util.Status
. An akka.util.Status#Failure
will cause the operator to fail with the cause carried in the Failure
message.
Adheres to the `ActorAttributes.SupervisionStrategy`
attribute.
emits when the ask Future
returned by the provided function finishes for the next element in sequence
backpressures when the number of ask Future
s reaches the configured parallelism and the downstream backpressures
completes when upstream completes and all ask Future
s has been completed and all elements has been emitted