Author: toad
Date: 2008-09-24 10:41:07 +0000 (Wed, 24 Sep 2008)
New Revision: 22793

Modified:
   trunk/freenet/src/freenet/node/PeerMessageQueue.java
Log:
Bug in round-robin logic: Always start at *the next slot*, not the one we just 
grabbed from!


Modified: trunk/freenet/src/freenet/node/PeerMessageQueue.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerMessageQueue.java        2008-09-24 
05:57:58 UTC (rev 22792)
+++ trunk/freenet/src/freenet/node/PeerMessageQueue.java        2008-09-24 
10:41:07 UTC (rev 22793)
@@ -169,7 +169,7 @@
                                lists += itemsWithID.size();
                        for(int i=0;i<lists;i++) {
                                LinkedList<MessageItem> list;
-                               int l = (i + roundRobinCounter) % lists;
+                               int l = (i + roundRobinCounter + 1) % lists;
                                int listNum = -1;
                                if(itemsNoID != null) {
                                        if(l == 0) list = itemsNoID;
@@ -252,7 +252,7 @@
                                lists += itemsWithID.size();
                        for(int i=0;i<lists;i++) {
                                LinkedList<MessageItem> list;
-                               int l = (i + roundRobinCounter) % lists;
+                               int l = (i + roundRobinCounter + 1) % lists;
                                int listNum = -1;
                                if(itemsNoID != null) {
                                        if(l == 0) list = itemsNoID;


Reply via email to