Update of /cvsroot/freenet/freenet/src/freenet/node/rt
In directory sc8-pr-cvs1:/tmp/cvs-serv24411/src/freenet/node/rt
Modified Files:
NGRoutingTable.java
Log Message:
NGRouting: when table is less than half full reference anything you can see.
Index: NGRoutingTable.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/rt/NGRoutingTable.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -w -r1.8 -r1.9
--- NGRoutingTable.java 22 Oct 2003 22:07:15 -0000 1.8
+++ NGRoutingTable.java 22 Oct 2003 23:01:13 -0000 1.9
@@ -129,11 +129,19 @@
e.ref = nr;
}
} else {
+ if(estimators.size() < (maxNodes/2)) {
+ if(!(nr.noPhysical() ||
!Version.checkGoodVersion(nr.getVersion(), true))) {
+ Core.logger.log(this, "Referencing "+nr+" to
no key out of desperation",
+ Logger.MINOR);
+ reference(null, nr);
+ } else {
if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "updateReference("+nr+") did
nothing",
Logger.DEBUG);
}
}
+ }
+ }
public synchronized void reference(Key k, NodeReference nr) {
Identity i = nr.getIdentity();
@@ -146,8 +154,13 @@
}
// New node, estimator centered on k
mem = routingStore.putNode(nr);
- NodeEstimator e = factory.create(mem, mem.getNodeReference(),
+ NodeEstimator e;
+ if(k != null)
+ e = factory.create(mem, mem.getNodeReference(),
k, getFastestRateSeen(), false);
+ else
+ e = factory.create(mem, mem.getNodeReference(),
+
getFastestRateSeen(), false);
mem.setProperty(NGKEY, e);
estimators.put(e.ref.getIdentity(), e);
} else if(nr.supersedes(mem.getNodeReference())) {
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs