object ActorFlow
- Alphabetic
- By Inheritance
- ActorFlow
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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[I, Q, A](parallelism: Int, ref: ActorRef[Q], timeout: Duration, makeMessage: (I, ActorRef[A]) ⇒ Q): Flow[I, A, NotUsed]
Use the
ask
pattern to send a request-reply message to the targetref
actor.Use the
ask
pattern to send a request-reply message to the targetref
actor. If any of the asks times out it will fail the stream with a java.util.concurrent.TimeoutException.Do not forget to include the expected response type in the method call, like so:
flow.via(ActorFlow.<String, AskMe, String>ask(ref, timeout, (msg, replyTo) -> new AskMe(msg, replyTo))) // or simply flow.via(ActorFlow.ask(ref, timeout, AskMe::new))
otherwise
Nothing
will be assumed, which is most likely not what you want.The operator fails with an akka.stream.WatchedActorTerminatedException if the target actor is terminated, or with an java.util.concurrent.TimeoutException in case the ask exceeds the timeout passed in.
Adheres to the ActorAttributes.SupervisionStrategy attribute.
Emits when the futures (in submission order) created by the ask pattern internally are completed
Backpressures when the number of futures reaches the configured parallelism and the downstream backpressures
Completes when upstream completes and all futures have been completed and all elements have been emitted
Fails when the passed in actor terminates, or a timeout is exceeded in any of the asks performed
Cancels when downstream cancels
- I
Incoming element type of the Flow
- Q
Question message type that is spoken by the target actor
- A
Answer type that the Actor is expected to reply with, it will become the Output type of this Flow
-
def
ask[I, Q, A](ref: ActorRef[Q], timeout: Duration, makeMessage: BiFunction[I, ActorRef[A], Q]): Flow[I, A, NotUsed]
Use the
ask
pattern to send a request-reply message to the targetref
actor.Use the
ask
pattern to send a request-reply message to the targetref
actor. If any of the asks times out it will fail the stream with a java.util.concurrent.TimeoutException.Do not forget to include the expected response type in the method call, like so:
flow.via(ActorFlow.<String, AskMe, String>ask(ref, timeout, (msg, replyTo) -> new AskMe(msg, replyTo))) // or simply flow.via(ActorFlow.ask(ref, timeout, AskMe::new))
otherwise
Nothing
will be assumed, which is most likely not what you want.Defaults to parallelism of 2 messages in flight, since while one ask message may be being worked on, the second one still be in the mailbox, so defaulting to sending the second one a bit earlier than when first ask has replied maintains a slightly healthier throughput.
The operator fails with an akka.stream.WatchedActorTerminatedException if the target actor is terminated, or with an java.util.concurrent.TimeoutException in case the ask exceeds the timeout passed in.
Adheres to the ActorAttributes.SupervisionStrategy attribute.
Emits when the futures (in submission order) created by the ask pattern internally are completed
Backpressures when the number of futures reaches the configured parallelism and the downstream backpressures
Completes when upstream completes and all futures have been completed and all elements have been emitted
Fails when the passed in actor terminates, or a timeout is exceeded in any of the asks performed
Cancels when downstream cancels
- I
Incoming element type of the Flow
- Q
Question message type that is spoken by the target actor
- A
Answer type that the Actor is expected to reply with, it will become the Output type of this Flow
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )