[Javanetsim-cvs] javaNetSim/core/protocolsuite/tcp_ip Tcp.java,1.9,1.10
Status: Beta
Brought to you by:
darkkey
From: gift <gi...@us...> - 2005-11-26 20:32:34
|
Update of /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18074/core/protocolsuite/tcp_ip Modified Files: Tcp.java Log Message: v0.2 Index: Tcp.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip/Tcp.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Tcp.java 26 Nov 2005 19:43:36 -0000 1.9 --- Tcp.java 26 Nov 2005 20:32:25 -0000 1.10 *************** *** 703,707 **** //Have to "establish" a new TCP connection by updating hashtable element information //and sending out ! //in case this is not duplicate Integer chk = (Integer)inPacket.get_sequence_number(); --- 703,707 ---- //Have to "establish" a new TCP connection by updating hashtable element information //and sending out ! //in case this is not duplicate Integer chk = (Integer)inPacket.get_sequence_number(); *************** *** 712,716 **** Elm.connectedtoPort=inPacket.get_srcPort(); Elm.received_segments++; ! Elm.ReceivedSegments.addElement(chk); //adding seq_number that we have received // everything is OK now we decompose TCP datagram --- 712,716 ---- Elm.connectedtoPort=inPacket.get_srcPort(); Elm.received_segments++; ! Elm.ReceivedSegments.addElement(chk); //adding seq_number that we have received // everything is OK now we decompose TCP datagram *************** *** 762,765 **** --- 762,767 ---- Elm.received_segments++; 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 *************** *** 777,783 **** Simulation.addLayerInfo(TCP_Info); ! //deleting from SegmentsToResend the segmet with the acknowledgment number we have received ! Integer our_ack = (Integer)inPacket.get_acknowledgment_number(); ! Elm.SegmentsToResend.remove(our_ack); //now we have to send last ACK-segment (with SYN=false, seq_num=1, ack_num=1) --- 779,784 ---- Simulation.addLayerInfo(TCP_Info); ! //deleting from SegmentsToResend the segmet with the acknowledgment number we have received NOTE: dec by 1 is used see RFC ! Elm.SegmentsToResend.remove((Integer)our_ack-1); //now we have to send last ACK-segment (with SYN=false, seq_num=1, ack_num=1) *************** *** 811,814 **** --- 812,817 ---- Elm.received_segments++; 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 *************** *** 826,832 **** Simulation.addLayerInfo(TCP_Info); ! //deleting from SegmentsToResend the segmet with the acknowledgment number we have received ! Integer our_ack = (Integer)inPacket.get_acknowledgment_number(); ! Elm.SegmentsToResend.remove(our_ack); //now we have to send ACK-segment (with SYN=false, seq_num=XX, ack_num=XX) --- 829,834 ---- Simulation.addLayerInfo(TCP_Info); ! //deleting from SegmentsToResend the segmet with the acknowledgment number we have received NOTE: dec by 1 is used see RFC ! Elm.SegmentsToResend.remove((Integer)our_ack-1); //now we have to send ACK-segment (with SYN=false, seq_num=XX, ack_num=XX) *************** *** 860,863 **** --- 862,867 ---- Elm.received_segments++; 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 *************** *** 871,879 **** TCP_Info.setLayer("Transport"); ! String s="TCP packet with ACK received from "+ inPacket.getSourceIPAddress() + ":" + inPacket.get_srcPort() + "."; ! //deleting from SegmentsToResend the segmet with the acknowledgment number we have received ! Integer our_ack = (Integer)inPacket.get_acknowledgment_number(); ! Elm.SegmentsToResend.remove(our_ack); if (our_ack==1 && (Integer)inPacket.get_sequence_number()==1) s=s + " New TCP connection established!"; --- 875,883 ---- TCP_Info.setLayer("Transport"); ! String s; ! if (our_ack!=2 || Elm.sent_segments !=2) s="TCP packet with data ACK received from "+ inPacket.getSourceIPAddress() + ":" + inPacket.get_srcPort() + "."; else s="TCP packet with establishing connection ACK received from "+ inPacket.getSourceIPAddress() + ":" + inPacket.get_srcPort() + "."; ! //deleting from SegmentsToResend the segmet with the acknowledgment number we have received NOTE: dec by 1 is used see RFC ! Elm.SegmentsToResend.remove((Integer)our_ack-1); if (our_ack==1 && (Integer)inPacket.get_sequence_number()==1) s=s + " New TCP connection established!"; *************** *** 890,894 **** if (our_ack>2) listener.RecvData(inPacket.getTCP_message()); // boolean bo=Elm.SegmentsToResend.isEmpty(); if (!bo) ! mParentStack.sendTCPSegment(listener,msg,flags); //we have sent last ACK and we can close TCP port now --- 894,899 ---- if (our_ack>2) listener.RecvData(inPacket.getTCP_message()); // boolean bo=Elm.SegmentsToResend.isEmpty(); if (!bo) ! if (our_ack!=2 || Elm.sent_segments!=2) mParentStack.sendTCPSegment(listener,msg,flags); //our_ack==2 when connection is established ! //we have sent last ACK and we can close TCP port now |