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");