c

akka.remote

AckedReceiveBuffer

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
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AckedReceiveBuffer
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. 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

  1. val buf: SortedSet[T]
  2. val cumulativeAck: SeqNo
  3. 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.

  4. val lastDelivered: SeqNo
  5. 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.

  6. 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.

  7. implicit val seqOrdering: Ordering[T]
  8. def toString(): String
    Definition Classes
    AckedReceiveBuffer → AnyRef → Any