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