Author: toad
Date: 2005-11-26 19:49:04 +0000 (Sat, 26 Nov 2005)
New Revision: 7623
Modified:
trunk/freenet/src/freenet/node/PeerManager.java
trunk/freenet/src/freenet/node/PeerNode.java
trunk/freenet/src/freenet/node/Version.java
Log:
237:
Bugfixes for 236; some sensible constraints; use both inserts and requests.
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2005-11-26 19:41:34 UTC
(rev 7622)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2005-11-26 19:49:04 UTC
(rev 7623)
@@ -302,7 +302,7 @@
if(!p.isConnected()) continue;
count++;
any = p;
- double pRO = p.getPRejectedOverload();
+ double pRO = p.getAdjustedPRejectedOverload();
double random = node.random.nextDouble();
if(!notIgnored.contains(p)) {
if(random < pRO) {
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2005-11-26 19:41:34 UTC
(rev 7622)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2005-11-26 19:49:04 UTC
(rev 7623)
@@ -1001,6 +1001,15 @@
return pDataRequestRejectOverload.currentValue();
}
+ public double getAdjustedPRejectedOverload() {
+ double d = pRejectOverload.currentValue();
+ long hits = pRejectOverload.countReports();
+ hits = Math.min(hits, 100);
+ double max = ((double) hits) / ((double) (hits + 1));
+ if(hits < 25) return 0.0;
+ return Math.min(d, max);
+ }
+
public double getPInsertRejectedOverload() {
return pInsertRejectOverload.currentValue();
}
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-11-26 19:41:34 UTC (rev
7622)
+++ trunk/freenet/src/freenet/node/Version.java 2005-11-26 19:49:04 UTC (rev
7623)
@@ -20,10 +20,10 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 236;
+ public static final int buildNumber = 237;
/** Oldest build of Fred we will talk to */
- public static final int lastGoodBuild = 236;
+ public static final int lastGoodBuild = 237;
/** The highest reported build of fred */
public static int highestSeenBuild = buildNumber;