[Javanetsim-cvs] javaNetSim/core/protocolsuite/tcp_ip Tcp.java, 1.85, 1.86
Status: Beta
Brought to you by:
darkkey
From: gift <gi...@us...> - 2006-09-08 18:40:35
|
Update of /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv30581/core/protocolsuite/tcp_ip Modified Files: Tcp.java Log Message: no window :( Index: Tcp.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip/Tcp.java,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** Tcp.java 8 Sep 2006 17:19:55 -0000 1.85 --- Tcp.java 8 Sep 2006 18:40:30 -0000 1.86 *************** *** 791,808 **** Elm = (TCP_HashTableElement) PortTable.get(insrcPort); // System.out.println(inSourceIPAddress + ": ************************ " + Elm + " ************************** " + Elm.timer); ! Integer gg = new Integer(0); ! System.out.println(" [*** TCP ***] GetTCPPacket_tosend call."); ! if (!Elm.ReceivedACKs.isEmpty()) gg = GetNumber(Elm.ReceivedACKs); ! System.out.println(" [*** TCP ***] gg after GetNumber =" + gg + "."); ! System.out.println(" [*** TCP ***] if condition: " + (Elm.seq_number <= gg+window_size || flags[1] || flags[4] || flags[5]) + "."); // System.out.println(inSourceIPAddress + ": ************************ " + Elm + " ************************** " + Elm.timer); ! if (Elm.seq_number <= gg+window_size || flags[1] || flags[4] || flags[5]) { int s_num; --- 791,810 ---- Elm = (TCP_HashTableElement) PortTable.get(insrcPort); // System.out.println(inSourceIPAddress + ": ************************ " + Elm + " ************************** " + Elm.timer); ! //Integer gg = new Integer(0); ! System.out.println(" [*** TCP ***] GetTCPPacket_tosend call on host " + inSourceIPAddress + "."); ! System.out.println(" [*** TCP ***] Going to send SEQ=" + Elm.seq_number + " ACK=" + acknow_num + "."); ! //if (!Elm.ReceivedACKs.isEmpty()) gg = GetNumber(Elm.ReceivedACKs); ! //System.out.println(" [*** TCP ***] gg after GetNumber =" + gg + "."); ! ! //System.out.println(" [*** TCP ***] if condition: " + (Elm.seq_number <= gg+window_size || flags[1] || flags[4] || flags[5]) + "."); // System.out.println(inSourceIPAddress + ": ************************ " + Elm + " ************************** " + Elm.timer); ! // if (Elm.seq_number <= gg+window_size || flags[1] || flags[4] || flags[5]) { int s_num; *************** *** 833,837 **** //here we push out segment in Hashtable SegmentsToResend and increment counters ! s_num=Elm.seq_number; //getting sequence number 0-for SYN if (Elm.ReceivedSegments.isEmpty()) a_num=0; else a_num=acknow_num; //(Integer)Elm.ReceivedSegments.lastElement()+1; //getting ACK number 0 - for SYN, 1 - as a reply for SYN ... so on --- 835,842 ---- //here we push out segment in Hashtable SegmentsToResend and increment counters ! ! //s_num = (flags[1] && !flags[4] && !flags[5]) ? -1 : Elm.seq_number; //getting sequence number 0-for SYN, -1 for ACK ! s_num = Elm.seq_number; //getting sequence number 0-for SYN, -1 for ACK ! if (Elm.ReceivedSegments.isEmpty()) a_num=0; else a_num=acknow_num; //(Integer)Elm.ReceivedSegments.lastElement()+1; //getting ACK number 0 - for SYN, 1 - as a reply for SYN ... so on *************** *** 844,848 **** //counters inc Elm.sent_segments++; //UNIQUE ID ! Elm.seq_number++; //inc for next segment if (!(flags[4] && a_num==0) && flags[1]) Elm.sent_ACK++; //inc in case this is an ACK-segment --- 849,853 ---- //counters inc Elm.sent_segments++; //UNIQUE ID ! Elm.seq_number++; //= ((flags[1] && !flags[4] && !flags[5])) ? Elm.seq_number : Elm.seq_number+1; //inc for next segment if (!(flags[4] && a_num==0) && flags[1]) Elm.sent_ACK++; //inc in case this is an ACK-segment *************** *** 882,891 **** Simulation.addLayerInfo(TCP_Info); ! System.out.println(" [*** TCP ***] GetTCPPacket_tosend end of call."); return tosend; ! } else{ ! throw new TransportLayerException("TCP Error: window size limit reached! Can not send segments. Wait for acknowledgenemts. Current window size is \"" + window_size +"\"."); ! } } --- 887,896 ---- Simulation.addLayerInfo(TCP_Info); ! System.out.println(" [*** TCP ***] GetTCPPacket_tosend end of call on host " + inSourceIPAddress + "."); return tosend; ! // } else{ ! // throw new TransportLayerException("TCP Error: window size limit reached! Can not send segments. Wait for acknowledgenemts. Current window size is \"" + window_size +"\"."); ! // } } *************** *** 1083,1087 **** Elm.ReceivedSegments.addElement(chk); //adding seq_number that we have received Integer our_ack = (Integer)inPacket.get_acknowledgment_number(); ! Elm.ReceivedACKs.addElement(our_ack); //adding ACK that we have received // everything is OK now we decompose TCP datagram --- 1088,1092 ---- Elm.ReceivedSegments.addElement(chk); //adding seq_number that we have received Integer our_ack = (Integer)inPacket.get_acknowledgment_number(); ! //Elm.ReceivedACKs.addElement(our_ack); //adding ACK that we have received //COMMENTED 8/09/2006 // everything is OK now we decompose TCP datagram *************** *** 1203,1207 **** Integer our_ack = (Integer)inPacket.get_acknowledgment_number(); ! Elm.ReceivedACKs.addElement(our_ack); //adding ACK that we have received // everything is OK now we decompose TCP datagram --- 1208,1212 ---- Integer our_ack = (Integer)inPacket.get_acknowledgment_number(); ! //Elm.ReceivedACKs.addElement(our_ack); //adding ACK that we have received //COMMENTED 8/09/2006 // everything is OK now we decompose TCP datagram *************** *** 1339,1343 **** if (inPacket.get_ACK_flag()) { // we have received an ACK for our segment!!! ! Elm.ReceivedACKs.addElement(our_ack); //adding ACK that we have received // everything is OK now we decompose TCP datagram --- 1344,1348 ---- if (inPacket.get_ACK_flag()) { // we have received an ACK for our segment!!! ! //Elm.ReceivedACKs.addElement(our_ack); //adding ACK that we have received //COMMENTED 8/09/2006 // everything is OK now we decompose TCP datagram |