org.jgroups.stack
Class AckReceiverWindow

java.lang.Object
  extended byorg.jgroups.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

Constructor Summary
AckReceiverWindow(long initial_seqno)
           
 
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
 

Constructor Detail

AckReceiverWindow

public AckReceiverWindow(long initial_seqno)
Method Detail

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()

main

public static void main(java.lang.String[] args)


Copyright ? 2001,2002 www.jgroups.com . All Rights Reserved.