[Udt-java-commits] SF.net SVN: udt-java:[33] udt-java/trunk/src
Status: Alpha
Brought to you by:
bschuller
From: <bsc...@us...> - 2010-04-30 19:09:31
|
Revision: 33 http://udt-java.svn.sourceforge.net/udt-java/?rev=33&view=rev Author: bschuller Date: 2010-04-30 19:09:25 +0000 (Fri, 30 Apr 2010) Log Message: ----------- bugfix in sender loss list Modified Paths: -------------- udt-java/trunk/src/main/java/udt/UDTReceiver.java udt-java/trunk/src/main/java/udt/UDTSender.java udt-java/trunk/src/main/java/udt/sender/SenderLossList.java udt-java/trunk/src/test/java/udt/TestList.java udt-java/trunk/src/test/java/udt/performance/TestUDTLargeData.java udt-java/trunk/src/test/java/udt/performance/TestUDTLargeDataCC1.java Modified: udt-java/trunk/src/main/java/udt/UDTReceiver.java =================================================================== --- udt-java/trunk/src/main/java/udt/UDTReceiver.java 2010-04-30 14:02:45 UTC (rev 32) +++ udt-java/trunk/src/main/java/udt/UDTReceiver.java 2010-04-30 19:09:25 UTC (rev 33) @@ -377,10 +377,11 @@ //check whether to drop this packet n++; - if(dropRate>0 && n % dropRate == 0){ - logger.info("**** TESTING:::: DROPPING PACKET "+currentSequenceNumber+" FOR TESTING"); - return; - } + //if(dropRate>0 && n % dropRate == 0){ + //if(n==668){ + // logger.info("**** TESTING:::: DROPPING PACKET "+currentSequenceNumber+" FOR TESTING"); + // return; + //} long currentDataPacketArrivalTime = Util.getCurrentTime(); Modified: udt-java/trunk/src/main/java/udt/UDTSender.java =================================================================== --- udt-java/trunk/src/main/java/udt/UDTSender.java 2010-04-30 14:02:45 UTC (rev 32) +++ udt-java/trunk/src/main/java/udt/UDTSender.java 2010-04-30 19:09:25 UTC (rev 33) @@ -91,13 +91,13 @@ private final AtomicInteger unacknowledged=new AtomicInteger(0); //for generating data packet sequence numbers - private long nextSequenceNumber=0; + private volatile long currentSequenceNumber=0; //the largest data packet sequence number that has actually been sent out private volatile long largestSentSequenceNumber=-1; //last acknowledge number, initialised to the initial sequence number - private long lastAckSequenceNumber; + private volatile long lastAckSequenceNumber; private volatile boolean started=false; @@ -269,8 +269,6 @@ * @param nak */ protected void onNAKPacketReceived(NegativeAcknowledgement nak){ - waitForAckLatch.get().countDown(); - for(Integer i: nak.getDecodedLossInfo()){ senderLossList.insert(Long.valueOf(i)); } @@ -283,7 +281,6 @@ logger.finer("NAK for "+nak.getDecodedLossInfo().size()+" packets lost, " +"set send period to "+session.getCongestionControl().getSendInterval()); } - return; } @@ -382,7 +379,7 @@ if(pktToRetransmit!=null){ endpoint.doSend(pktToRetransmit); statistics.incNumberOfRetransmittedDataPackets(); - } + } }catch (Exception e) { logger.log(Level.WARNING,"",e); } @@ -404,12 +401,12 @@ * The initial sequence number is "0" */ public long getNextSequenceNumber(){ - nextSequenceNumber++; - return nextSequenceNumber; + currentSequenceNumber++; + return currentSequenceNumber; } public long getCurrentSequenceNumber(){ - return nextSequenceNumber; + return currentSequenceNumber; } /** Modified: udt-java/trunk/src/main/java/udt/sender/SenderLossList.java =================================================================== --- udt-java/trunk/src/main/java/udt/sender/SenderLossList.java 2010-04-30 14:02:45 UTC (rev 32) +++ udt-java/trunk/src/main/java/udt/sender/SenderLossList.java 2010-04-30 19:09:25 UTC (rev 33) @@ -39,7 +39,7 @@ public class SenderLossList { private final LinkedList<Long>backingList; - + /** * create a new sender lost list */ @@ -48,17 +48,15 @@ } public void insert(Long obj){ - if(obj==null)System.out.println("!!!"); synchronized (backingList) { if(!backingList.contains(obj)){ - if(backingList.isEmpty())backingList.add(obj); - else{ - for(int i=0;i<backingList.size();i++){ - if(obj<backingList.getFirst()){ - backingList.add(i,obj); - } + for(int i=0;i<backingList.size();i++){ + if(obj<backingList.getFirst()){ + backingList.add(i,obj); + return; } } + backingList.add(obj); } } } @@ -76,7 +74,13 @@ return backingList.isEmpty(); } + public int size(){ + return backingList.size(); + } + public String toString(){ - return backingList.toString(); + synchronized (backingList) { + return backingList.toString(); + } } } Modified: udt-java/trunk/src/test/java/udt/TestList.java =================================================================== --- udt-java/trunk/src/test/java/udt/TestList.java 2010-04-30 14:02:45 UTC (rev 32) +++ udt-java/trunk/src/test/java/udt/TestList.java 2010-04-30 19:09:25 UTC (rev 33) @@ -85,6 +85,7 @@ l.insert(A); l.insert(B); l.insert(C); + assertEquals(3,l.size()); Long oldest=l.getFirstEntry(); assertEquals(C,oldest); } Modified: udt-java/trunk/src/test/java/udt/performance/TestUDTLargeData.java =================================================================== --- udt-java/trunk/src/test/java/udt/performance/TestUDTLargeData.java 2010-04-30 14:02:45 UTC (rev 32) +++ udt-java/trunk/src/test/java/udt/performance/TestUDTLargeData.java 2010-04-30 19:09:25 UTC (rev 33) @@ -21,7 +21,7 @@ boolean running=false; //how many - int num_packets=100; + int num_packets=500; //how large is a single packet int size=1*1024*1024; Modified: udt-java/trunk/src/test/java/udt/performance/TestUDTLargeDataCC1.java =================================================================== --- udt-java/trunk/src/test/java/udt/performance/TestUDTLargeDataCC1.java 2010-04-30 14:02:45 UTC (rev 32) +++ udt-java/trunk/src/test/java/udt/performance/TestUDTLargeDataCC1.java 2010-04-30 19:09:25 UTC (rev 33) @@ -13,7 +13,7 @@ boolean running=false; //how many - int num_packets=50; + int num_packets=100; //how large is a single packet int size=1*1024*1024; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |