Author: toad
Date: 2008-11-27 18:39:02 +0000 (Thu, 27 Nov 2008)
New Revision: 23915

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
MAYBE fix the bandwidth collapse bug:
Don't drop messages on WouldBlock!
Call onDisconnect() when dropping messages on disconnected.


Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-11-27 
18:37:57 UTC (rev 23914)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-11-27 
18:39:02 UTC (rev 23915)
@@ -2025,10 +2025,18 @@
                KeyTracker kt = pn.getCurrentKeyTracker();
                if(kt == null) {
                        Logger.error(this, "Not connected while sending 
packets: "+pn);
+                       if(!dontRequeue) {
+                               for(MessageItem item : messages)
+                                       item.onDisconnect();
+                       }
                        return false;
                }
                if(kt.wouldBlock(false)) {
                        if(logMINOR) Logger.minor(this, "Would block: "+kt);
+                       // Requeue
+                       if(!dontRequeue) {
+                               pn.requeueMessageItems(messages, 0, 
messages.length, false, "WouldBlock");
+                       }
                        return false;
                }
                int length = 1;

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to