[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.
|