Author: toad
Date: 2005-11-25 21:07:56 +0000 (Fri, 25 Nov 2005)
New Revision: 7611
Modified:
trunk/freenet/src/freenet/node/PeerManager.java
trunk/freenet/src/freenet/node/PeerNode.java
trunk/freenet/src/freenet/node/Version.java
Log:
230:
Try to get load routing bias working for inserts.
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2005-11-25 20:46:14 UTC
(rev 7610)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2005-11-25 21:07:56 UTC
(rev 7611)
@@ -301,7 +301,7 @@
count++;
any = p;
double diff = distance(p, loc);
- Logger.minor(this, "p.loc="+p.getLocation().getValue()+",
loc="+loc+", d="+distance(p.getLocation().getValue(), loc)+" usedD="+diff);
+ Logger.minor(this, "p.loc="+p.getLocation().getValue()+",
loc="+loc+", d="+distance(p.getLocation().getValue(), loc)+" usedD="+diff+",
bias="+p.getBias());
if((!ignoreSelf) && diff > maxDiff) continue;
if(diff < bestDiff) {
best = p;
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2005-11-25 20:46:14 UTC
(rev 7610)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2005-11-25 21:07:56 UTC
(rev 7611)
@@ -151,11 +151,16 @@
/** The time at which we last completed a connection setup. */
private long connectedTime;
- /** The probability of the node rejecting a request because of
- * overload, or of it timing out etc.
+ /** The overall probability of the node rejecting a request or insert
+ * because of overload or timeout.
*/
private final RunningAverage pRejectOverload;
+ /** The probability of the node rejecting a data request because of
+ * overload, or of it timing out etc.
+ */
+ private final RunningAverage pDataRequestRejectOverload;
+
/** The probability of the node rejecting an insert because of
* overload, timing out, etc.
*/
@@ -253,8 +258,9 @@
decrementHTLAtMinimum = node.random.nextFloat() <
Node.DECREMENT_AT_MIN_PROB;
// FIXME maybe a simple binary RA would be better?
+ pDataRequestRejectOverload = new SimpleRunningAverage(100, 0.05);
+ pInsertRejectOverload = new SimpleRunningAverage(100, 0.05);
pRejectOverload = new SimpleRunningAverage(100, 0.05);
- pInsertRejectOverload = new SimpleRunningAverage(100, 0.05);
}
private void randomizeMaxTimeBetweenPacketSends() {
@@ -845,7 +851,8 @@
public String getStatus() {
return
- (isConnected ? "CONNECTED " : "DISCONNECTED") + " " +
getPeer().toString()+" "+myName+" "+currentLocation.getValue()+" "+getVersion()
+ " reqs: pRO="+pRejectOverload.currentValue()+"
(h="+pRejectOverload.countReports()+",b="+getBias()+") ins: pRO="+
pInsertRejectOverload.currentValue()+
+ (isConnected ? "CONNECTED " : "DISCONNECTED") + " " +
getPeer().toString()+" "+myName+" "+currentLocation.getValue()+" "+getVersion()
+
+ " bias="+getBias()+" reqs:
pRO="+pDataRequestRejectOverload.currentValue()+"
(h="+pDataRequestRejectOverload.countReports()+") ins: pRO="+
pInsertRejectOverload.currentValue()+
" (h="+pInsertRejectOverload.countReports()+")";
}
@@ -940,9 +947,11 @@
*/
public void rejectedOverload() {
pRejectOverload.report(1.0);
+ pDataRequestRejectOverload.report(1.0);
}
public void insertRejectedOverload() {
+ pRejectOverload.report(1.0);
pInsertRejectOverload.report(1.0);
}
@@ -952,14 +961,16 @@
*/
public void didNotRejectOverload() {
pRejectOverload.report(0.0);
+ pDataRequestRejectOverload.report(0.0);
}
public void insertDidNotRejectOverload() {
+ pRejectOverload.report(0.0);
pInsertRejectOverload.report(0.0);
}
public double getPRejectedOverload() {
- return pRejectOverload.currentValue();
+ return pDataRequestRejectOverload.currentValue();
}
public double getPInsertRejectedOverload() {
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-11-25 20:46:14 UTC (rev
7610)
+++ trunk/freenet/src/freenet/node/Version.java 2005-11-25 21:07:56 UTC (rev
7611)
@@ -20,10 +20,10 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 229;
+ public static final int buildNumber = 230;
/** Oldest build of Fred we will talk to */
- public static final int lastGoodBuild = 228;
+ public static final int lastGoodBuild = 230;
/** The highest reported build of fred */
public static int highestSeenBuild = buildNumber;