Author: toad
Date: 2009-04-02 23:59:42 +0000 (Thu, 02 Apr 2009)
New Revision: 26397

Modified:
   trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
Log:
Better priority/retrycount comparison


Modified: trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java      
2009-04-02 23:54:43 UTC (rev 26396)
+++ trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java      
2009-04-02 23:59:42 UTC (rev 26397)
@@ -508,8 +508,10 @@
                                                        Logger.minor(this, 
"Ignoring cancelled recently succeeded item "+altReq);
                                                altReq = null;
                                        }
-                                       if(altReq != null && 
altReq.getPriorityClass(container) <= choosenPriorityClass && 
-                                                       
fixRetryCount(altReq.getRetryCount()) <= chosenTracker.getNumber() && 
!altReq.isEmpty(container) && altReq != req) {
+                                       int prio = 
altReq.getPriorityClass(container);
+                                       if(altReq != null && 
+                                                       (prio < 
choosenPriorityClass || (prio == choosenPriorityClass && 
fixRetryCount(altReq.getRetryCount()) <= chosenTracker.getNumber()))
+                                                                       && 
!altReq.isEmpty(container) && altReq != req) {
                                                // Use the recent one instead
                                                if(logMINOR)
                                                        Logger.minor(this, 
"Recently succeeded (transient) req "+altReq+" 
(prio="+altReq.getPriorityClass(container)+" retry count 
"+altReq.getRetryCount()+") is better than "+req+" 
(prio="+req.getPriorityClass(container)+" retry "+req.getRetryCount()+"), using 
that");
@@ -536,8 +538,10 @@
                                                SendableRequest altReq = 
(SendableRequest) altRGA.removeRandom(starter, container, context);
                                                container.activate(altReq, 1);
                                                if(altReq != null) {
-                                                       
if(altReq.getPriorityClass(container) <= choosenPriorityClass &&
-                                                                       
fixRetryCount(altReq.getRetryCount()) <= chosenTracker.getNumber() && 
!altReq.isEmpty(container) && altReq != req) {
+                                                       int prio = 
altReq.getPriorityClass(container);
+                                                       if(altReq != null && 
+                                                                       (prio < 
choosenPriorityClass || (prio == choosenPriorityClass && 
fixRetryCount(altReq.getRetryCount()) <= chosenTracker.getNumber()))
+                                                                               
        && !altReq.isEmpty(container) && altReq != req) {
                                                                // Use the 
recent one instead
                                                                if(logMINOR)
                                                                        
Logger.minor(this, "Recently succeeded (persistent) req "+altReq+" 
(prio="+altReq.getPriorityClass(container)+" retry count 
"+altReq.getRetryCount()+") is better than "+req+" 
(prio="+req.getPriorityClass(container)+" retry "+req.getRetryCount()+"), using 
that");

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

Reply via email to