Author: robert
Date: 2008-01-23 18:43:10 +0000 (Wed, 23 Jan 2008)
New Revision: 17214

Modified:
   trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
Log:
don't send reduplicated packets on redundant missing requests


Modified: trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java     2008-01-23 
18:24:38 UTC (rev 17213)
+++ trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java     2008-01-23 
18:43:10 UTC (rev 17214)
@@ -239,10 +239,14 @@
                                                Integer packetNo = (Integer) 
i.next();
                                                if 
(_prb.isReceived(packetNo.intValue())) {
                                                        
synchronized(_senderThread) {
+                                                               if 
(_unsent.contains(packetNo)) {
+                                                                       
Logger.minor(this, "already to transmit packet #"+packetNo);
+                                                               } else {
                                                                
_unsent.addFirst(packetNo);
                                                                timeAllSent=-1;
                                                                
_sentPackets.setBit(packetNo.intValue(), false);
                                                                
_senderThread.notifyAll();
+                                                               }
                                                        }
                                                } else {
                                                        Logger.error(this, 
"receiver requested block #"+packetNo+" which is not received");


Reply via email to