final case class AckedReceiveBuffer[T <: HasSequenceNumber](lastDelivered: SeqNo = SeqNo(-1), cumulativeAck: SeqNo = SeqNo(-1), buf: SortedSet[T] = TreeSet.empty[T])(implicit seqOrdering: Ordering[T]) extends Product with Serializable
Implements an immutable receive buffer that buffers incoming messages until they can be safely delivered. This buffer works together with a akka.remote.AckedSendBuffer on the sender() side.
- lastDelivered
Sequence number of the last message that has been delivered.
- cumulativeAck
The highest sequence number received so far.
- buf
Buffer of messages that are waiting for delivery
- Source
- AckedDelivery.scala
- Alphabetic
- By Inheritance
- AckedReceiveBuffer
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
AckedReceiveBuffer(lastDelivered: SeqNo = SeqNo(-1), cumulativeAck: SeqNo = SeqNo(-1), buf: SortedSet[T] = TreeSet.empty[T])(implicit seqOrdering: Ordering[T])
- lastDelivered
Sequence number of the last message that has been delivered.
- cumulativeAck
The highest sequence number received so far.
- buf
Buffer of messages that are waiting for delivery
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 AckedReceiveBuffer[T] to any2stringadd[AckedReceiveBuffer[T]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (AckedReceiveBuffer[T], B)
- Implicit
- This member is added by an implicit conversion from AckedReceiveBuffer[T] to ArrowAssoc[AckedReceiveBuffer[T]] 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 buf: SortedSet[T]
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- val cumulativeAck: SeqNo
-
def
ensuring(cond: (AckedReceiveBuffer[T]) ⇒ Boolean, msg: ⇒ Any): AckedReceiveBuffer[T]
- Implicit
- This member is added by an implicit conversion from AckedReceiveBuffer[T] to Ensuring[AckedReceiveBuffer[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (AckedReceiveBuffer[T]) ⇒ Boolean): AckedReceiveBuffer[T]
- Implicit
- This member is added by an implicit conversion from AckedReceiveBuffer[T] to Ensuring[AckedReceiveBuffer[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): AckedReceiveBuffer[T]
- Implicit
- This member is added by an implicit conversion from AckedReceiveBuffer[T] to Ensuring[AckedReceiveBuffer[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): AckedReceiveBuffer[T]
- Implicit
- This member is added by an implicit conversion from AckedReceiveBuffer[T] to Ensuring[AckedReceiveBuffer[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
extractDeliverable: (AckedReceiveBuffer[T], Seq[T], Ack)
Extract all messages that could be safely delivered, an updated ack to be sent to the sender(), and an updated buffer that has the messages removed that can be delivered.
Extract all messages that could be safely delivered, an updated ack to be sent to the sender(), and an updated buffer that has the messages removed that can be delivered.
- returns
Triplet of the updated buffer, messages that can be delivered and the updated acknowledgement.
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from AckedReceiveBuffer[T] to StringFormat[AckedReceiveBuffer[T]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val lastDelivered: SeqNo
-
def
mergeFrom(that: AckedReceiveBuffer[T]): AckedReceiveBuffer[T]
Merges two receive buffers.
Merges two receive buffers. Merging preserves sequencing of messages, and drops all messages that has been safely acknowledged by any of the participating buffers. Also updates the expected sequence numbers.
- that
The receive buffer to merge with
- returns
The merged receive buffer.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
receive(arrivedMsg: T): AckedReceiveBuffer[T]
Puts a sequenced message in the receive buffer returning a new buffer.
Puts a sequenced message in the receive buffer returning a new buffer.
- arrivedMsg
message to be put into the buffer.
- returns
The updated buffer containing the message.
- implicit val seqOrdering: Ordering[T]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AckedReceiveBuffer → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (AckedReceiveBuffer[T], B)
- Implicit
- This member is added by an implicit conversion from AckedReceiveBuffer[T] to ArrowAssoc[AckedReceiveBuffer[T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc