Author: robert
Date: 2008-01-17 17:02:47 +0000 (Thu, 17 Jan 2008)
New Revision: 17099

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
don't drop messages for a few special cases


Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-01-17 
16:57:44 UTC (rev 17098)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-01-17 
17:02:47 UTC (rev 17099)
@@ -1979,7 +1979,8 @@
                                        byte[] buf = mi.getData(pn);
                                        if(kt == null) {
                                                if(logMINOR) Logger.minor(this, 
"kt = null");
-                                               
pn.requeueMessageItems(messages, i, messages.length-i, false, "kt = null");
+                                               pn.requeueMessageItems(newMsgs, 
0, x, false, "kt=null(1a)");
+                                               
pn.requeueMessageItems(messages, i, messages.length-i, false, "kt = null(1b)");
                                                return;
                                        }
                                        int packetNumber = 
kt.allocateOutgoingPacketNumberNeverBlock();
@@ -1990,7 +1991,7 @@
                                        Logger.normal(this, "Caught "+e+" while 
sending messages ("+mi_name+") to "+pn.getPeer()+requeueLogString);
                                        // Requeue
                                        if(!dontRequeue) {
-                                               
pn.requeueMessageItems(messages, 0, x, false, "NotConnectedException(1a)");
+                                               pn.requeueMessageItems(newMsgs, 
0, x, false, "NotConnectedException(1a)");
                                                
pn.requeueMessageItems(messages, i, messages.length-i, false, 
"NotConnectedException(1b)");
                                        }
                                        return;
@@ -1998,7 +1999,7 @@
                                        if(logMINOR) Logger.minor(this, "Caught 
"+e+" while sending messages ("+mi_name+") to "+pn.getPeer()+requeueLogString, 
e);
                                        // Requeue
                                        if(!dontRequeue) {
-                                               
pn.requeueMessageItems(messages, 0, x, false, "WouldBlockException(1a)");
+                                               pn.requeueMessageItems(newMsgs, 
0, x, false, "WouldBlockException(1a)");
                                                
pn.requeueMessageItems(messages, i, messages.length-i, false, 
"WouldBlockException(1b)");
                                        }
                                        return;
@@ -2006,7 +2007,7 @@
                                        if(logMINOR) Logger.minor(this, "Caught 
"+e+" while sending messages ("+mi_name+") to "+pn.getPeer()+requeueLogString, 
e);
                                        // Requeue
                                        if(!dontRequeue) {
-                                               
pn.requeueMessageItems(messages, 0, x, false, "KeyChangedException(1a)");
+                                               pn.requeueMessageItems(newMsgs, 
0, x, false, "KeyChangedException(1a)");
                                                
pn.requeueMessageItems(messages, i, messages.length-i, false, 
"KeyChangedException(1b)");
                                        }
                                        return;
@@ -2014,7 +2015,7 @@
                                        Logger.error(this, "Caught "+e+" while 
sending messages ("+mi_name+") to "+pn.getPeer()+requeueLogString, e);
                                        // Requeue
                                        if(!dontRequeue) {
-                                               
pn.requeueMessageItems(messages, 0, x, false, "Throwable(1)");
+                                               pn.requeueMessageItems(newMsgs, 
0, x, false, "Throwable(1)");
                                                
pn.requeueMessageItems(messages, i, messages.length-i, false, "Throwable(1)");
                                        }
                                        return;


Reply via email to