[Javanetsim-cvs] javaNetSim/core/protocolsuite/tcp_ip Tcp.java,1.41,1.42
Status: Beta
Brought to you by:
darkkey
From: gift <gi...@us...> - 2006-02-24 17:16:04
|
Update of /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14719/core/protocolsuite/tcp_ip Modified Files: Tcp.java Log Message: var numRET Index: Tcp.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip/Tcp.java,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** Tcp.java 24 Feb 2006 15:41:44 -0000 1.41 --- Tcp.java 24 Feb 2006 17:16:00 -0000 1.42 *************** *** 315,321 **** * Used in timer */ ! private static final long TCP_SERVER_TIME = 10000; //msec //server closing idle connection time private static final long TCP_CONNECT_SERVER_TIME = 250; //msec //server closing idle connection time ! private static final long TCP_SENDER_TIME = 10000; //msec time to resend all segments in SegmentsToresend queue private static final long TCP_CONNECT_TIME = 200; //msec time to resend all segments in SegmentsToresend queue whn connecting --- 315,321 ---- * Used in timer */ ! private static final long TCP_SERVER_TIME = 1000; //msec //server closing idle connection time private static final long TCP_CONNECT_SERVER_TIME = 250; //msec //server closing idle connection time ! private static final long TCP_SENDER_TIME = 1000; //msec time to resend all segments in SegmentsToresend queue private static final long TCP_CONNECT_TIME = 200; //msec time to resend all segments in SegmentsToresend queue whn connecting *************** *** 343,349 **** * @author gift (sourceforge.net user) * @param Elm TCP_HashTableElement * @version v0.10 */ ! public void TCPsetTimer(TCP_HashTableElement Elm) { if(Elm.timer==null) --- 343,350 ---- * @author gift (sourceforge.net user) * @param Elm TCP_HashTableElement + * @param int inRep * @version v0.10 */ ! public void TCPsetTimer(TCP_HashTableElement Elm, int inREP) { if(Elm.timer==null) *************** *** 351,355 **** System.out.println("Sender timer init!"); Elm.timer=new Timer(); ! Elm.timer.schedule(new TCPTask(Elm,TCP_CONNECT_TIME,this),TCP_CONNECT_TIME,TCP_CONNECT_TIME); } else { --- 352,356 ---- System.out.println("Sender timer init!"); Elm.timer=new Timer(); ! Elm.timer.schedule(new TCPTask(Elm,TCP_CONNECT_TIME,this, inREP),TCP_CONNECT_TIME,TCP_CONNECT_TIME); } else { *************** *** 358,362 **** Elm.timer=null; Elm.timer=new Timer(); ! Elm.timer.schedule(new TCPTask(Elm,TCP_SENDER_TIME,this), TCP_SENDER_TIME, TCP_SENDER_TIME); System.out.println(" Sender Timer REinit DONE!"); } --- 359,363 ---- Elm.timer=null; Elm.timer=new Timer(); ! Elm.timer.schedule(new TCPTask(Elm,TCP_SENDER_TIME,this, inREP), TCP_SENDER_TIME, TCP_SENDER_TIME); System.out.println(" Sender Timer REinit DONE!"); } *************** *** 367,380 **** public class TCPTask extends TimerTask { ! private int numRepeat=5; private TCP_HashTableElement Elm; private long repTime; private Tcp TCPptr; ! public TCPTask (TCP_HashTableElement inElm, long time, Tcp inTCP) { this.Elm=inElm; this.repTime=time; this.TCPptr=inTCP; } --- 368,382 ---- public class TCPTask extends TimerTask { ! private int numRepeat; //5 when connecting, 50 when working private TCP_HashTableElement Elm; private long repTime; private Tcp TCPptr; ! public TCPTask (TCP_HashTableElement inElm, long time, Tcp inTCP, int inREP) { this.Elm=inElm; this.repTime=time; this.TCPptr=inTCP; + this.numRepeat=inREP; } *************** *** 411,417 **** Elm.sent_duplicates++; ! System.out.println("trying to send in timer"); mParentStack.sendPacket((TCP_packet)Elm.SegmentsToResend.get(curkey)); ! System.out.println("never be here II."); } catch (Exception e) {System.out.println("Queue of segments to resend INNER ERROR: " + e.toString());} } --- 413,419 ---- Elm.sent_duplicates++; ! // System.out.println("trying to send in timer"); mParentStack.sendPacket((TCP_packet)Elm.SegmentsToResend.get(curkey)); ! // System.out.println("never be here II."); } catch (Exception e) {System.out.println("Queue of segments to resend INNER ERROR: " + e.toString());} } *************** *** 458,464 **** * @param Elm TCP_HashTableElement * @param inlocalPort int local port number * @version v0.10 */ ! public void TCPsetServerTimer(TCP_HashTableElement Elm, int inlocalPort) { if(Elm.Servertimer==null) --- 460,467 ---- * @param Elm TCP_HashTableElement * @param inlocalPort int local port number + * @param inREP int number of repeats * @version v0.10 */ ! public void TCPsetServerTimer(TCP_HashTableElement Elm, int inlocalPort, int inREP) { if(Elm.Servertimer==null) *************** *** 466,470 **** System.out.println("Server Timer init!"); Elm.Servertimer=new Timer(); ! Elm.Servertimer.schedule(new TCPServerTask(Elm,inlocalPort,TCP_CONNECT_SERVER_TIME,this),TCP_CONNECT_SERVER_TIME,TCP_CONNECT_SERVER_TIME); } else { --- 469,473 ---- System.out.println("Server Timer init!"); 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 { *************** *** 473,477 **** Elm.Servertimer=null; Elm.Servertimer=new Timer(); ! Elm.Servertimer.schedule(new TCPServerTask(Elm,inlocalPort,TCP_SERVER_TIME,this),TCP_SERVER_TIME,TCP_SERVER_TIME); System.out.println(" Server Timer REinit DONE!"); } --- 476,480 ---- 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!"); } *************** *** 482,486 **** public class TCPServerTask extends TimerTask { ! private int numRepeat=6; private int localPort; private TCP_HashTableElement Elm; --- 485,489 ---- public class TCPServerTask extends TimerTask { ! private int numRepeat; //6 when connecting, 60 when working private int localPort; private TCP_HashTableElement Elm; *************** *** 489,493 **** private Tcp TCPptr; ! public TCPServerTask (TCP_HashTableElement inElm, int inlocalPort, long time, Tcp inTCP) { this.Elm=inElm; --- 492,496 ---- private Tcp TCPptr; ! public TCPServerTask (TCP_HashTableElement inElm, int inlocalPort, long time, Tcp inTCP,int inREP) { this.Elm=inElm; *************** *** 496,499 **** --- 499,503 ---- this.application=inElm.application; this.TCPptr=inTCP; + this.numRepeat=inREP; } *************** *** 961,964 **** --- 965,970 ---- int s_num; int a_num; + int reps=50; + TCP_packet tosend_clone = new TCP_packet(inDestIPAddress,inSourceIPAddress,indestPort,insrcPort); TCP_packet tosend = new TCP_packet(inDestIPAddress,inSourceIPAddress,indestPort,insrcPort); *************** *** 1003,1006 **** --- 1009,1014 ---- if (!flags[1] || a_num<=1) Elm.SegmentsToResend.put(new Integer(s_num), tosend_clone); + if (flags[4]) reps=5; + if (a_num==0 && flags[4]) //first SYN packet was sent => now he have to change port status to busy, as we will get reply to this port { *************** *** 1013,1017 **** if (flags[5]) Elm.isFIN_sent=true; ! TCPsetTimer(Elm); Elm=null; --- 1021,1025 ---- if (flags[5]) Elm.isFIN_sent=true; ! TCPsetTimer(Elm,reps); Elm=null; *************** *** 1183,1188 **** { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort()); ! } else TCPsetTimer(Elm); }catch(NullPointerException e){ System.out.println(mParentStack.getHostName() + ":" + "TCP.java: case 2 - 1162 " + e.toString()); --- 1191,1196 ---- { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort(), 6); ! } else TCPsetTimer(Elm, 5); }catch(NullPointerException e){ System.out.println(mParentStack.getHostName() + ":" + "TCP.java: case 2 - 1162 " + e.toString()); *************** *** 1249,1254 **** { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort()); ! } else TCPsetTimer(Elm); Elm.received_duplicates++; if (!inPacket.get_ACK_flag()) --- 1257,1262 ---- { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort(), 6); ! } else TCPsetTimer(Elm, 5); Elm.received_duplicates++; if (!inPacket.get_ACK_flag()) *************** *** 1294,1299 **** { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort()); ! } else TCPsetTimer(Elm); Elm.received_segments++; Elm.ReceivedSegments.addElement(chk); //adding seq_number that we have received --- 1302,1307 ---- { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort(), 60); ! } else TCPsetTimer(Elm, 50); Elm.received_segments++; Elm.ReceivedSegments.addElement(chk); //adding seq_number that we have received *************** *** 1412,1417 **** { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort()); ! } else TCPsetTimer(Elm); Elm.received_duplicates++; if (!inPacket.get_ACK_flag()) --- 1420,1425 ---- { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort(), 60); ! } else TCPsetTimer(Elm, 50); Elm.received_duplicates++; if (!inPacket.get_ACK_flag()) *************** *** 1455,1460 **** { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort()); ! } else TCPsetTimer(Elm); Elm.received_segments++; Elm.ReceivedSegments.addElement(chk); //adding seq_number that we have received --- 1463,1468 ---- { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort(),60); ! } else TCPsetTimer(Elm, 50); Elm.received_segments++; Elm.ReceivedSegments.addElement(chk); //adding seq_number that we have received *************** *** 1547,1552 **** { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort()); ! } else TCPsetTimer(Elm); Elm.received_duplicates++; if (!inPacket.get_ACK_flag()) --- 1555,1560 ---- { //init ServerTask ! TCPsetServerTimer(Elm,inPacket.get_destPort(), 60); ! } else TCPsetTimer(Elm, 50); Elm.received_duplicates++; if (!inPacket.get_ACK_flag()) |