c

akka.remote

AckedSendBuffer

final case class AckedSendBuffer[T <: HasSequenceNumber](capacity: Int, nonAcked: IndexedSeq[T] = Vector.empty[T], nacked: IndexedSeq[T] = Vector.empty[T], maxSeq: SeqNo = SeqNo(-1)) extends Product with Serializable

Implements an immutable resend buffer that buffers messages until they have been acknowledged. Properly removes messages when an ack is received. This buffer works together with akka.remote.AckedReceiveBuffer on the receiving end.

capacity

Maximum number of messages the buffer is willing to accept. If reached akka.remote.ResendBufferCapacityReachedException is thrown.

nonAcked

Sequence of messages that has not yet been acknowledged.

nacked

Sequence of messages that has been explicitly negative acknowledged.

maxSeq

The maximum sequence number that has been stored in this buffer. Messages having lower sequence number will be not stored but rejected with java.lang.IllegalArgumentException

Source
AckedDelivery.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AckedSendBuffer
  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 AckedSendBuffer(capacity: Int, nonAcked: IndexedSeq[T] = Vector.empty[T], nacked: IndexedSeq[T] = Vector.empty[T], maxSeq: SeqNo = SeqNo(-1))

    capacity

    Maximum number of messages the buffer is willing to accept. If reached akka.remote.ResendBufferCapacityReachedException is thrown.

    nonAcked

    Sequence of messages that has not yet been acknowledged.

    nacked

    Sequence of messages that has been explicitly negative acknowledged.

    maxSeq

    The maximum sequence number that has been stored in this buffer. Messages having lower sequence number will be not stored but rejected with java.lang.IllegalArgumentException

Value Members

  1. def acknowledge(ack: Ack): AckedSendBuffer[T]

    Processes an incoming acknowledgement and returns a new buffer with only unacknowledged elements remaining.

    Processes an incoming acknowledgement and returns a new buffer with only unacknowledged elements remaining.

    ack

    The received acknowledgement

    returns

    An updated buffer containing the remaining unacknowledged messages

  2. def buffer(msg: T): AckedSendBuffer[T]

    Puts a new message in the buffer.

    Puts a new message in the buffer. Throws java.lang.IllegalArgumentException if an out-of-sequence message is attempted to be stored.

    msg

    The message to be stored for possible future retransmission.

    returns

    The updated buffer

  3. val capacity: Int
  4. val maxSeq: SeqNo
  5. val nacked: IndexedSeq[T]
  6. val nonAcked: IndexedSeq[T]
  7. def toString(): String
    Definition Classes
    AckedSendBuffer → AnyRef → Any