akka.remote
Class AckedReceiveBuffer<T extends HasSequenceNumber>
java.lang.Object
akka.remote.AckedReceiveBuffer<T>
- All Implemented Interfaces:
- java.io.Serializable, scala.Equals, scala.Product
public class AckedReceiveBuffer<T extends HasSequenceNumber>
- extends java.lang.Object
- implements scala.Product, scala.Serializable
Implements an immutable receive buffer that buffers incoming messages until they can be safely delivered. This
buffer works together with a AckedSendBuffer
on the sender side.
- See Also:
- Serialized Form
Constructor Summary |
AckedReceiveBuffer(SeqNo lastDelivered,
SeqNo cumulativeAck,
scala.collection.immutable.SortedSet<T> buf,
scala.math.Ordering<T> seqOrdering)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface scala.Product |
productArity, productElement, productIterator, productPrefix |
Methods inherited from interface scala.Equals |
canEqual, equals |
AckedReceiveBuffer
public AckedReceiveBuffer(SeqNo lastDelivered,
SeqNo cumulativeAck,
scala.collection.immutable.SortedSet<T> buf,
scala.math.Ordering<T> seqOrdering)
lastDelivered
public SeqNo lastDelivered()
cumulativeAck
public SeqNo cumulativeAck()
buf
public scala.collection.immutable.SortedSet<T> buf()
seqOrdering
public scala.math.Ordering<T> seqOrdering()
receive
public AckedReceiveBuffer<T> receive(T arrivedMsg)
- Puts a sequenced message in the receive buffer returning a new buffer.
- Parameters:
arrivedMsg
- message to be put into the buffer.
- Returns:
- The updated buffer containing the message.
extractDeliverable
public scala.Tuple3<AckedReceiveBuffer<T>,scala.collection.immutable.Seq<T>,Ack> extractDeliverable()
- 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.
mergeFrom
public AckedReceiveBuffer<T> mergeFrom(AckedReceiveBuffer<T> that)
- 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.
- Parameters:
that
- The receive buffer to merge with
- Returns:
- The merged receive buffer.
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object