org.jgroups.stack
Class AckReceiverWindow
java.lang.Object
org.jgroups.stack.AckReceiverWindow
- public class AckReceiverWindow
- extends java.lang.Object
Counterpart of AckSenderWindow. Simple FIFO buffer.
Every message received is ACK'ed (even duplicates) and added to a hashmap
keyed by seqno. The next seqno to be received is stored in next_to_remove
. When a message with
a seqno less than next_to_remove is received, it will be discarded. The remove()
method removes
and returns a message whose seqno is equal to next_to_remove, or null if not found.
Change May 28 2002 (bela): replaced TreeSet with HashMap. Keys do not need to be sorted, and adding a key to
a sorted set incurs overhead.
- Author:
- Bela Ban
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
AckReceiverWindow
public AckReceiverWindow(long initial_seqno)
add
public void add(long seqno,
Message msg)
- Adds a new message. Message cannot be null
remove
public Message remove()
- Removes a message whose seqno is equal to
next_to_remove
, increments the latter.
Returns message that was removed, or null, if no message can be removed. Messages are thus
removed in order.
reset
public void reset()
size
public int size()
toString
public java.lang.String toString()
printDetails
public java.lang.String printDetails()
Copyright ? 1998-2005 Bela Ban. All Rights Reserved.