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;


Reply via email to