org.javagroups.stack
Class AckReceiverWindow
java.lang.Object
|
+--org.javagroups.stack.AckReceiverWindow
- public class AckReceiverWindow
- extends java.lang.Object
Counterpart of AckSenderWindow. 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
Method Summary |
void |
add(long seqno,
Message msg)
|
static void |
main(java.lang.String[] args)
|
Message |
remove()
Removes a message whose seqno is equal to next_to_remove , increments the latter. |
void |
reset()
|
java.lang.String |
toString()
|
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)
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()
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
main
public static void main(java.lang.String[] args)
Copyright ? 2001,2002 www.javagroups.com . All Rights Reserved.