Update of /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26021/core/protocolsuite/tcp_ip
Modified Files:
Tcp.java
Log Message:
--
Index: Tcp.java
===================================================================
RCS file: /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip/Tcp.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** Tcp.java 8 Dec 2005 19:41:51 -0000 1.29
--- Tcp.java 8 Dec 2005 20:56:57 -0000 1.30
***************
*** 878,882 ****
--- 878,907 ----
window_size=(int)ACCELER_KOEFF*inSeg/TOTAL_TIME;
}
+
+
+ /**
+ * This method returns the ORD ACK number in
+ * Elm.ReceivedACKs
+ * @author gift (sourceforge.net user)
+ * @param inV vector of Integers
+ * @return int last ordered value
+ */
+ private int GetNumber (Vector inV)
+ {
+ int mx=0;
+ boolean ordered=true;
+ int previous=(Integer)inV.firstElement();
+ Enumeration vEnum = inV.elements();
+
+ while (vEnum.hasMoreElements() && ordered)
+ {
+ mx=(Integer)vEnum.nextElement();
+ if (mx>=previous) previous=mx; else ordered=false;
+ }
+
+ return previous;
+ }
+
/**
* This method returns the TCP packet to send
***************
*** 903,907 ****
Integer gg = new Integer(0);
! if (!Elm.ReceivedACKs.isEmpty()) gg = (Integer)Elm.ReceivedACKs.lastElement();
if (Elm.seq_number <= gg+window_size)
--- 928,932 ----
Integer gg = new Integer(0);
! if (!Elm.ReceivedACKs.isEmpty()) gg = GetNumber(Elm.ReceivedACKs);
if (Elm.seq_number <= gg+window_size)
|