[Javanetsim-cvs] javaNetSim/core/protocolsuite/tcp_ip Tcp.java, 1.83, 1.84
Status: Beta
Brought to you by:
darkkey
From: gift <gi...@us...> - 2006-09-08 17:01:53
|
Update of /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv22338/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.83 retrieving revision 1.84 diff -C2 -d -r1.83 -r1.84 *** Tcp.java 8 Sep 2006 16:29:13 -0000 1.83 --- Tcp.java 8 Sep 2006 17:01:42 -0000 1.84 *************** *** 173,177 **** public void TCPsetTimer(TCP_HashTableElement Elm, int inREP) { if(Elm.busy) return; ! //System.out.println("TCPSETTIMER: " + Elm.timer); try{ Elm.busy = true; --- 173,177 ---- public void TCPsetTimer(TCP_HashTableElement Elm, int inREP) { if(Elm.busy) return; ! // System.out.println("TCPSETTIMER: " + Elm.timer); try{ Elm.busy = true; *************** *** 188,202 **** Elm.timer=new Timer(); Elm.timer.schedule(new TCPTask(Elm,TCP_CONNECT_TIME,this, inREP, ++timerid),TCP_CONNECT_TIME,TCP_CONNECT_TIME); ! System.out.println("##################################### ^^^^^^^^^^^^ Sender timer init! Elm id = " + Elm.returnID() + " ID = " + timerid + " Elm connected to port:" + Elm.connectedtoPort); } else { ! System.out.println("##################################### ############ Sender Timer REinit due to new packet arrival! Elm id = " + Elm.returnID() + " && OLDID = " + timerid + " Elm connected to port:" + Elm.connectedtoPort); ! System.out.println(Elm.timer); Elm.timer.cancel(); Elm.timer=null; Elm.timer=new Timer(); Elm.timer.schedule(new TCPTask(Elm,TCP_SENDER_TIME,this, inREP, ++timerid), TCP_SENDER_TIME, TCP_SENDER_TIME); ! System.out.println("##################################### ############ Sender Timer REinit DONE! ID = " + timerid + " Elm connected to port:" + Elm.connectedtoPort); ! System.out.println(Elm.timer); } Elm.busy = false; --- 188,202 ---- Elm.timer=new Timer(); Elm.timer.schedule(new TCPTask(Elm,TCP_CONNECT_TIME,this, inREP, ++timerid),TCP_CONNECT_TIME,TCP_CONNECT_TIME); ! // System.out.println("##################################### ^^^^^^^^^^^^ Sender timer init! Elm id = " + Elm.returnID() + " ID = " + timerid + " Elm connected to port:" + Elm.connectedtoPort); } else { ! // System.out.println("##################################### ############ Sender Timer REinit due to new packet arrival! Elm id = " + Elm.returnID() + " && OLDID = " + timerid + " Elm connected to port:" + Elm.connectedtoPort); ! // System.out.println(Elm.timer); Elm.timer.cancel(); Elm.timer=null; Elm.timer=new Timer(); Elm.timer.schedule(new TCPTask(Elm,TCP_SENDER_TIME,this, inREP, ++timerid), TCP_SENDER_TIME, TCP_SENDER_TIME); ! // System.out.println("##################################### ############ Sender Timer REinit DONE! ID = " + timerid + " Elm connected to port:" + Elm.connectedtoPort); ! // System.out.println(Elm.timer); } Elm.busy = false; *************** *** 231,235 **** public void run() { try{ ! System.out.println("##################################### ############ In Timer.run()! ID: " + id); if(!Elm.SegmentsToResend.isEmpty() && numRepeat>0) { // this.cancel(); --- 231,235 ---- public void run() { try{ ! // System.out.println("##################################### ############ In Timer.run()! ID: " + id); if(!Elm.SegmentsToResend.isEmpty() && numRepeat>0) { // this.cancel(); *************** *** 262,266 **** } else { if (numRepeat==0) { ! System.out.println("TIMEtoLIVE - OUT - connection timeout!"); //Create Layer info --- 262,266 ---- } else { if (numRepeat==0) { ! // System.out.println("TIMEtoLIVE - OUT - connection timeout!"); //Create Layer info *************** *** 275,293 **** Elm.reset(); } else { //nothing to resend, but numRepeat>0 ! System.out.println("Timer cancel - part1! NumRepeat = " + numRepeat + " Elm id = " + Elm.returnID() + " Elm connected to port:" + Elm.connectedtoPort); try{ numRepeat = 0; ! System.out.println(">>>>>>>>>>>>>>>>>>>> " + Elm.timer); if(Elm.timer!=null){ Elm.timer.cancel(); this.cancel(); // ??? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ! System.out.println("\n\n\n\n@@@@@@@@@@@@@@@@@@@@@@@@@ Elm.timer <<<<<<<<<<<<<<<<<<<<<<<\n\n\n\n"); } Elm.timer = null; }catch(Exception e){ ! System.out.println("Timer cancel error."); Error.Report(e); } ! System.out.println("Timer cancel - part2! Elm id = " + Elm.returnID()); } } --- 275,293 ---- Elm.reset(); } else { //nothing to resend, but numRepeat>0 ! // System.out.println("Timer cancel - part1! NumRepeat = " + numRepeat + " Elm id = " + Elm.returnID() + " Elm connected to port:" + Elm.connectedtoPort); try{ numRepeat = 0; ! // System.out.println(">>>>>>>>>>>>>>>>>>>> " + Elm.timer); if(Elm.timer!=null){ Elm.timer.cancel(); this.cancel(); // ??? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ! // System.out.println("\n\n\n\n@@@@@@@@@@@@@@@@@@@@@@@@@ Elm.timer <<<<<<<<<<<<<<<<<<<<<<<\n\n\n\n"); } Elm.timer = null; }catch(Exception e){ ! // System.out.println("Timer cancel error."); Error.Report(e); } ! // System.out.println("Timer cancel - part2! Elm id = " + Elm.returnID()); } } *************** *** 310,323 **** public void TCPsetServerTimer(TCP_HashTableElement Elm, int inlocalPort, int inREP) { if(Elm.Servertimer==null) { ! System.out.println("Server Timer init == " + inlocalPort); Elm.Servertimer=new Timer(); Elm.Servertimer.schedule(new TCPServerTask(Elm,inlocalPort,TCP_CONNECT_SERVER_TIME,this, inREP),TCP_CONNECT_SERVER_TIME,TCP_CONNECT_SERVER_TIME); } else { ! System.out.println("Server Timer REinit due to new packet arrival!"); Elm.Servertimer.cancel(); Elm.Servertimer=null; Elm.Servertimer=new Timer(); Elm.Servertimer.schedule(new TCPServerTask(Elm,inlocalPort,TCP_SERVER_TIME,this, inREP),TCP_SERVER_TIME,TCP_SERVER_TIME); ! System.out.println(" Server Timer REinit DONE!"); } --- 310,323 ---- public void TCPsetServerTimer(TCP_HashTableElement Elm, int inlocalPort, int inREP) { if(Elm.Servertimer==null) { ! // System.out.println("Server Timer init == " + inlocalPort); Elm.Servertimer=new Timer(); Elm.Servertimer.schedule(new TCPServerTask(Elm,inlocalPort,TCP_CONNECT_SERVER_TIME,this, inREP),TCP_CONNECT_SERVER_TIME,TCP_CONNECT_SERVER_TIME); } else { ! // System.out.println("Server Timer REinit due to new packet arrival!"); Elm.Servertimer.cancel(); Elm.Servertimer=null; Elm.Servertimer=new Timer(); Elm.Servertimer.schedule(new TCPServerTask(Elm,inlocalPort,TCP_SERVER_TIME,this, inREP),TCP_SERVER_TIME,TCP_SERVER_TIME); ! // System.out.println(" Server Timer REinit DONE!"); } *************** *** 351,355 **** numRepeat--; if (numRepeat==0) { ! System.out.println("SERVER TIMEtoLIVE - OUT - awaiting connection timeout!"); Elm.addstats(TCPptr); ((Application)Elm.application).DisconnectEvent(); --- 351,355 ---- numRepeat--; if (numRepeat==0) { ! // System.out.println("SERVER TIMEtoLIVE - OUT - awaiting connection timeout!"); Elm.addstats(TCPptr); ((Application)Elm.application).DisconnectEvent(); *************** *** 369,373 **** Simulation.addLayerInfo(TCP_Info); ! System.out.println("SERVER reorganized!"); } } --- 369,373 ---- Simulation.addLayerInfo(TCP_Info); ! // System.out.println("SERVER reorganized!"); } } *************** *** 518,522 **** if (Elm.PortStatus==1 || Elm.PortStatus==2) //&& PortToClose<=PORT_START_NUMBER { ! System.out.println("!!!"); Elm.addstats(this); Elm.reset(); --- 518,522 ---- if (Elm.PortStatus==1 || Elm.PortStatus==2) //&& PortToClose<=PORT_START_NUMBER { ! // System.out.println("!!!"); Elm.addstats(this); Elm.reset(); *************** *** 540,547 **** Integer PortToFree=getApplicationLocalPortNumber(application); Elm=(TCP_HashTableElement) PortTable.get((Integer)PortToFree); ! System.out.println("###"); Elm.addstats(this); Elm.reset(); ! System.out.println("111"); }catch(Exception e){} } --- 540,547 ---- Integer PortToFree=getApplicationLocalPortNumber(application); Elm=(TCP_HashTableElement) PortTable.get((Integer)PortToFree); ! // System.out.println("###"); Elm.addstats(this); Elm.reset(); ! // System.out.println("111"); }catch(Exception e){} } *************** *** 779,788 **** TCP_HashTableElement Elm; Elm = (TCP_HashTableElement) PortTable.get(insrcPort); ! System.out.println(inSourceIPAddress + ": ************************ " + Elm + " ************************** " + Elm.timer); Integer gg = new Integer(0); if (!Elm.ReceivedACKs.isEmpty()) gg = GetNumber(Elm.ReceivedACKs); ! if (Elm.seq_number <= gg+window_size) { int s_num; --- 779,797 ---- TCP_HashTableElement Elm; 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; *************** *** 862,865 **** --- 871,875 ---- Simulation.addLayerInfo(TCP_Info); + System.out.println(" [*** TCP ***] GetTCPPacket_tosend end of call."); return tosend; *************** *** 895,899 **** if (inPacket.get_ACK_flag()) sd=sd+" ACK-packet"; sd=sd + ":" + " !!!!!!!!!! SEQ_numb==" + inPacket.get_sequence_number(); ! System.out.println(sd); //test: check sum of TCP packet --- 905,909 ---- if (inPacket.get_ACK_flag()) sd=sd+" ACK-packet"; sd=sd + ":" + " !!!!!!!!!! SEQ_numb==" + inPacket.get_sequence_number(); ! // System.out.println(sd); //test: check sum of TCP packet *************** *** 973,980 **** //we are going to send ACK for received segment => adding it to SentACKs ! System.out.println(mParentStack.getHostName() + ":" + "Server received first SYN: I=" + inPacket.get_sequence_number()); ! if (inPacket.get_sequence_number() == 1) System.out.println("SYN-flags EVERYTHING IS OK 1-st place I==1"); Elm.SentACKs.put(new Integer(inPacket.get_sequence_number()), (TCP_packet) mParentStack.getTCPSegment_clone(listener,msg,flags,ack_num)); ! System.out.println(mParentStack.getHostName() + ":" + " FIRST SYN DONE I=" + inPacket.get_sequence_number()); if (!(mParentStack.sendTCPSegment(listener,msg,flags,ack_num))) { --- 983,990 ---- //we are going to send ACK for received segment => adding it to SentACKs ! // System.out.println(mParentStack.getHostName() + ":" + "Server received first SYN: I=" + inPacket.get_sequence_number()); ! // if (inPacket.get_sequence_number() == 1) System.out.println("SYN-flags EVERYTHING IS OK 1-st place I==1"); Elm.SentACKs.put(new Integer(inPacket.get_sequence_number()), (TCP_packet) mParentStack.getTCPSegment_clone(listener,msg,flags,ack_num)); ! // System.out.println(mParentStack.getHostName() + ":" + " FIRST SYN DONE I=" + inPacket.get_sequence_number()); if (!(mParentStack.sendTCPSegment(listener,msg,flags,ack_num))) { *************** *** 1101,1108 **** //we are going to send ACK for received segment => adding it to SentACKs ! System.out.println(mParentStack.getHostName() + ":" + "CLIENT, ANSWER FOR SYN, I=" + inPacket.get_sequence_number()); ! if (inPacket.get_sequence_number() == 1) System.out.println("SYN-flags with ACK EVERYTHING IS OK 2-nd place I==1"); Elm.SentACKs.put(new Integer(inPacket.get_sequence_number()), (TCP_packet) mParentStack.getTCPSegment_clone(listener,msg,flags,ack_num)); ! System.out.println(mParentStack.getHostName() + ":" + " CLIENT, ANSWER FOR SYN DONE I=" + inPacket.get_sequence_number()); if (!(mParentStack.sendTCPSegment(listener,msg,flags,ack_num))) { --- 1111,1118 ---- //we are going to send ACK for received segment => adding it to SentACKs ! //System.out.println(mParentStack.getHostName() + ":" + "CLIENT, ANSWER FOR SYN, I=" + inPacket.get_sequence_number()); ! //if (inPacket.get_sequence_number() == 1) System.out.println("SYN-flags with ACK EVERYTHING IS OK 2-nd place I==1"); Elm.SentACKs.put(new Integer(inPacket.get_sequence_number()), (TCP_packet) mParentStack.getTCPSegment_clone(listener,msg,flags,ack_num)); ! //System.out.println(mParentStack.getHostName() + ":" + " CLIENT, ANSWER FOR SYN DONE I=" + inPacket.get_sequence_number()); if (!(mParentStack.sendTCPSegment(listener,msg,flags,ack_num))) { *************** *** 1221,1228 **** AddOutputBuffer(Elm, inPacket); //we are going to send ACK for received segment => adding it to SentACKs ! System.out.println(mParentStack.getHostName() + ":" + "FIN-packet FIN not sent, BEFORE: I=" + inPacket.get_sequence_number()); ! if (inPacket.get_sequence_number() == 1) System.out.println("EVERYTHING IS OK, ready 3-rd place I==1"); Elm.SentACKs.put(new Integer(inPacket.get_sequence_number()), (TCP_packet) mParentStack.getTCPSegment_clone(listener,msg,flags,ack_num)); ! System.out.println(mParentStack.getHostName() + ":" + " FIN-packet FIN not sent, 3-rd place DONE I=" + inPacket.get_sequence_number()); if (!(mParentStack.sendTCPSegment(listener,msg,flags,ack_num))) { --- 1231,1238 ---- AddOutputBuffer(Elm, inPacket); //we are going to send ACK for received segment => adding it to SentACKs ! // System.out.println(mParentStack.getHostName() + ":" + "FIN-packet FIN not sent, BEFORE: I=" + inPacket.get_sequence_number()); ! // if (inPacket.get_sequence_number() == 1) System.out.println("EVERYTHING IS OK, ready 3-rd place I==1"); Elm.SentACKs.put(new Integer(inPacket.get_sequence_number()), (TCP_packet) mParentStack.getTCPSegment_clone(listener,msg,flags,ack_num)); ! // System.out.println(mParentStack.getHostName() + ":" + " FIN-packet FIN not sent, 3-rd place DONE I=" + inPacket.get_sequence_number()); if (!(mParentStack.sendTCPSegment(listener,msg,flags,ack_num))) { *************** *** 1287,1293 **** //now we have to resend our ACK again mParentStack.sendPacket((TCP_packet) Elm.SentACKs.get((Integer)inPacket.get_sequence_number())); - } } catch(NullPointerException e){ - System.out.println(mParentStack.getHostName() + ":" + "TCP.java: case 2 - 1368 " + e.toString()); } } --- 1297,1304 ---- //now we have to resend our ACK again mParentStack.sendPacket((TCP_packet) Elm.SentACKs.get((Integer)inPacket.get_sequence_number())); } + } catch(NullPointerException e){ + System.out.println(mParentStack.getHostName() + ":" + "TCP.java: case 2 - 1368 " + e.toString()); + } } *************** *** 1350,1354 **** //we do not have to send ACK for ACK-segment ! System.out.println("[*** TCP ***] ACK received, port status: 2."); PassUpstairs( (Application) Elm.application, Elm); --- 1361,1365 ---- //we do not have to send ACK for ACK-segment ! // System.out.println("[*** TCP ***] ACK received, port status: 2."); PassUpstairs( (Application) Elm.application, Elm); *************** *** 1369,1376 **** listener = (Application)Elm.application; ! System.out.println(mParentStack.getHostName() + ":" + " Data exchange mode, BEFORE: I=" + inPacket.get_sequence_number()); ! if (inPacket.get_sequence_number() == 1) System.out.println("EVERYTHING IS OK, ready 6-th place I==1"); Elm.SentACKs.put(new Integer(inPacket.get_sequence_number()), (TCP_packet) mParentStack.getTCPSegment_clone(listener,msg,flags,ack_num)); ! System.out.println(mParentStack.getHostName() + ":" + " Data exchange mode, 6-th place DONE I=" + inPacket.get_sequence_number()); if (Elm.ApplicationStatus!=2) { --- 1380,1387 ---- listener = (Application)Elm.application; ! // System.out.println(mParentStack.getHostName() + ":" + " Data exchange mode, BEFORE: I=" + inPacket.get_sequence_number()); ! // if (inPacket.get_sequence_number() == 1) System.out.println("EVERYTHING IS OK, ready 6-th place I==1"); Elm.SentACKs.put(new Integer(inPacket.get_sequence_number()), (TCP_packet) mParentStack.getTCPSegment_clone(listener,msg,flags,ack_num)); ! // System.out.println(mParentStack.getHostName() + ":" + " Data exchange mode, 6-th place DONE I=" + inPacket.get_sequence_number()); if (Elm.ApplicationStatus!=2) { *************** *** 1393,1397 **** Simulation.addLayerInfo(TCP_Info); ! System.out.println("1"); Simulation.addLayerInfo(new LayerInfo(getClass().getName(), mParentStack.getParentNodeName(), "TCP Protocol", "Transport", "1")); --- 1404,1408 ---- Simulation.addLayerInfo(TCP_Info); ! // System.out.println("1"); Simulation.addLayerInfo(new LayerInfo(getClass().getName(), mParentStack.getParentNodeName(), "TCP Protocol", "Transport", "1")); *************** *** 1402,1412 **** } ! System.out.println("4"); Simulation.addLayerInfo(new LayerInfo(getClass().getName(), mParentStack.getParentNodeName(), "TCP Protocol", "Transport", "4")); // if (Elm.received_segments>2) // listener.RecvData(inPacket.getTCP_message()); ! System.out.println("[*** TCP ***] Data received, port status: 2."); PassUpstairs(listener, Elm); ! System.out.println("5"); Simulation.addLayerInfo(new LayerInfo(getClass().getName(), mParentStack.getParentNodeName(), "TCP Protocol", "Transport", "5")); --- 1413,1423 ---- } ! // System.out.println("4"); Simulation.addLayerInfo(new LayerInfo(getClass().getName(), mParentStack.getParentNodeName(), "TCP Protocol", "Transport", "4")); // if (Elm.received_segments>2) // listener.RecvData(inPacket.getTCP_message()); ! // System.out.println("[*** TCP ***] Data received, port status: 2."); PassUpstairs(listener, Elm); ! // System.out.println("5"); Simulation.addLayerInfo(new LayerInfo(getClass().getName(), mParentStack.getParentNodeName(), "TCP Protocol", "Transport", "5")); *************** *** 1439,1443 **** //F#CKING SH*T: is it right sequence??? ! System.out.println(mParentStack.getHostName() + ":" + "I=" + ik); if (Tpl==null) {System.out.println(mParentStack.getHostName() + ":" + "Error: PACKET = null when I=" + ik); } --- 1450,1454 ---- //F#CKING SH*T: is it right sequence??? ! // System.out.println(mParentStack.getHostName() + ":" + "I=" + ik); if (Tpl==null) {System.out.println(mParentStack.getHostName() + ":" + "Error: PACKET = null when I=" + ik); } *************** *** 1698,1707 **** Integer kkey=Elm.last_passed+1;//=new Integer(Elm.last_passed+1); ! System.out.println(" [*** TCP ***] Pass upstairs call."); ! System.out.println(" [*** TCP ***] Last passed: " + Elm.last_passed + ", going to pass: " + kkey + "."); ! ! System.out.println(" [*** TCP ***] Buffer isEmpty: " + Elm.OutputBuffer.isEmpty() + "."); ! System.out.println(" [*** TCP ***] While condition: " + Elm.OutputBuffer.containsKey(kkey) + "."); ! while(Elm.OutputBuffer.containsKey(kkey)) { Elm.last_passed=kkey; --- 1709,1718 ---- Integer kkey=Elm.last_passed+1;//=new Integer(Elm.last_passed+1); ! // System.out.println(" [*** TCP ***] Pass upstairs call."); ! // System.out.println(" [*** TCP ***] Last passed: " + Elm.last_passed + ", going to pass: " + kkey + "."); ! // ! // System.out.println(" [*** TCP ***] Buffer isEmpty: " + Elm.OutputBuffer.isEmpty() + "."); ! // System.out.println(" [*** TCP ***] While condition: " + Elm.OutputBuffer.containsKey(kkey) + "."); ! // while(Elm.OutputBuffer.containsKey(kkey)) { Elm.last_passed=kkey; *************** *** 1713,1724 **** //if(!Packet.get_ACK_flag()) listener.RecvData(Packet.getTCP_message()); ! System.out.println(" [*** TCP ***] [*P*] Passed packet SEQ: " + Packet.get_sequence_number() + ", packet destination: " + Packet.getDestIPAddress() + "."); } else { ! System.out.println(" [*** TCP ***] [S] Skipped packet SEQ: " + Packet.get_sequence_number() + ", packet destination: " + Packet.getDestIPAddress() + "."); } } ! System.out.println(" [*** TCP ***] Pass upstairs end of call."); } --- 1724,1735 ---- //if(!Packet.get_ACK_flag()) listener.RecvData(Packet.getTCP_message()); ! // System.out.println(" [*** TCP ***] [*P*] Passed packet SEQ: " + Packet.get_sequence_number() + ", packet destination: " + Packet.getDestIPAddress() + "."); } else { ! // System.out.println(" [*** TCP ***] [S] Skipped packet SEQ: " + Packet.get_sequence_number() + ", packet destination: " + Packet.getDestIPAddress() + "."); } } ! // System.out.println(" [*** TCP ***] Pass upstairs end of call."); } |