final case class RequestNext[A](sendNextTo: ActorRef[ShardingEnvelope[A]], askNextTo: ActorRef[MessageWithConfirmation[A]], entitiesWithDemand: Set[EntityId], bufferedForEntitiesWithoutDemand: Map[EntityId, Int]) extends Product with Serializable
Ordering
- Alphabetic
- By Inheritance
Inherited
- RequestNext
- Serializable
- Product
- Equals
- AnyRef
- Any
Implicitly
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new RequestNext(sendNextTo: [ShardingEnvelope[A]], askNextTo: [MessageWithConfirmation[A]], entitiesWithDemand: Set[EntityId], bufferedForEntitiesWithoutDemand: Map[, Int])
Value Members
- val askNextTo: [MessageWithConfirmation[A]]
- val bufferedForEntitiesWithoutDemand: Map[, Int]
- val entitiesWithDemand: Set[EntityId]
- def getBufferedForEntitiesWithoutDemand: Map[String, Integer]
Java API
- def getEntitiesWithDemand: Set[String]
Java API
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val sendNextTo: [ShardingEnvelope[A]]
The
ProducerController
sendsRequestNext
to the producer when it is allowed to send one message via thesendNextTo
oraskNextTo
. It should wait for nextRequestNext
before sending one more message.entitiesWithDemand
contains information about which entities that have demand. It is allowed to send to a newentityId
that is not included in theentitiesWithDemand
. If sending to an entity that doesn't have demand the message will be buffered, and that can be seen in thebufferedForEntitiesWithoutDemand
.This support for buffering means that it is even allowed to send several messages in response to one
RequestNext
but it's recommended to only send one message and wait for nextRequestNext
before sending more messages.