final case class RequestNext[A](sendNextTo: ActorRef[ShardingEnvelope[A]], askNextTo: ActorRef[MessageWithConfirmation[A]], entitiesWithDemand: Set[EntityId], bufferedForEntitiesWithoutDemand: Map[EntityId, Int]) extends Product with Serializable
The ProducerController
sends RequestNext
to the producer when it is allowed to send one
message via the sendNextTo
or askNextTo
. It should wait for next RequestNext
before
sending one more message.
entitiesWithDemand
contains information about which entities that have demand. It is allowed
to send to a new entityId
that is not included in the entitiesWithDemand
. If sending to
an entity that doesn't have demand the message will be buffered, and that can be seen in the
bufferedForEntitiesWithoutDemand
.
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 next RequestNext
before sending more messages.
- Alphabetic
- By Inheritance
- RequestNext
- Serializable
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new RequestNext(sendNextTo: ActorRef[ShardingEnvelope[A]], askNextTo: ActorRef[MessageWithConfirmation[A]], entitiesWithDemand: Set[EntityId], bufferedForEntitiesWithoutDemand: Map[EntityId, Int])
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 RequestNext[A] toany2stringadd[RequestNext[A]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (RequestNext[A], B)
- Implicit
- This member is added by an implicit conversion from RequestNext[A] toArrowAssoc[RequestNext[A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val askNextTo: ActorRef[MessageWithConfirmation[A]]
- val bufferedForEntitiesWithoutDemand: Map[EntityId, Int]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def ensuring(cond: (RequestNext[A]) => Boolean, msg: => Any): RequestNext[A]
- Implicit
- This member is added by an implicit conversion from RequestNext[A] toEnsuring[RequestNext[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (RequestNext[A]) => Boolean): RequestNext[A]
- Implicit
- This member is added by an implicit conversion from RequestNext[A] toEnsuring[RequestNext[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): RequestNext[A]
- Implicit
- This member is added by an implicit conversion from RequestNext[A] toEnsuring[RequestNext[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): RequestNext[A]
- Implicit
- This member is added by an implicit conversion from RequestNext[A] toEnsuring[RequestNext[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- val entitiesWithDemand: Set[EntityId]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def getBufferedForEntitiesWithoutDemand: Map[String, Integer]
Java API
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def getEntitiesWithDemand: Set[String]
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
- val sendNextTo: ActorRef[ShardingEnvelope[A]]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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 RequestNext[A] toStringFormat[RequestNext[A]] 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): (RequestNext[A], B)
- Implicit
- This member is added by an implicit conversion from RequestNext[A] toArrowAssoc[RequestNext[A]] 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.