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;


Reply via email to