Update of /cvsroot/freenet/freenet/src/freenet/node/rt
In directory sc8-pr-cvs1:/tmp/cvs-serv25695/src/freenet/node/rt
Modified Files:
NGRoutingTable.java StandardNodeEstimator.java
StandardNodeEstimatorFactory.java
Log Message:
6316:
Don't accept a transfer rate unless the file is multi-segment and the time is more
than 10ms.
Logging.
Index: NGRoutingTable.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/rt/NGRoutingTable.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -w -r1.29 -r1.30
--- NGRoutingTable.java 5 Nov 2003 22:36:40 -0000 1.29
+++ NGRoutingTable.java 6 Nov 2003 01:41:16 -0000 1.30
@@ -62,14 +62,26 @@
}
public void reportRate(double rate) {
- if(rate > fastestTransferSeen) fastestTransferSeen = rate;
+ if(rate > fastestTransferSeen) {
+ fastestTransferSeen = rate;
+ if(Core.logger.shouldLog(Logger.DEBUG, this))
+ Core.logger.log(this,"New fastest rate seen: "+rate,
+ Logger.NORMAL);
+ }
}
/** Return the fastest transfer rate seen for files over 16k */
public double getFastestRateSeen() {
+ boolean logDEBUG = Core.logger.shouldLog(Logger.DEBUG,this);
if(fastestTransferSeen == 0.0) {
+ if(logDEBUG)
+ Core.logger.log(this, "Returning default rate
"+defaultFastestTransferSeen,
+ Logger.DEBUG);
return defaultFastestTransferSeen;
}
+ if(logDEBUG)
+ Core.logger.log(this, "Returning fastest rate seen:
"+fastestTransferSeen,
+ Logger.DEBUG);
return fastestTransferSeen;
}
Index: StandardNodeEstimator.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/rt/StandardNodeEstimator.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -w -r1.25 -r1.26
--- StandardNodeEstimator.java 5 Nov 2003 00:06:51 -0000 1.25
+++ StandardNodeEstimator.java 6 Nov 2003 01:41:16 -0000 1.26
@@ -286,6 +286,9 @@
public void transferSucceeded(Key key, long searchTime, int htl,
long size, long
transferTime) {
boolean logDEBUG = Core.logger.shouldLog(Logger.DEBUG,this);
+ if(logDEBUG)
+ Core.logger.log(this, "transferSucceeded("+key+","+searchTime+
+ ","+htl+","+size+","+transferTime,
Logger.DEBUG);
synchronized(this) {
successes++;
}
@@ -296,9 +299,12 @@
etSuccessSearch.reportTime(key, searchTime);
rpSearchFailed.report(0); // the search succeeded
rpTransferFailed.report(0); // the transfer succeeded
- if(size > 0 && transferTime > 0) {
- etTransferRate.reportTransferRate(key, ((double)size) /
-
(double)transferTime);
+ if(size > 16384 /* must be multi-segment */
+ && transferTime > 10 /* sanity check */) {
+ double rate = ((double)size) / (double)transferTime;
+ if(logDEBUG) Core.logger.log(this, "Logging transfer rate of
"+rate+
+ " bytes per millisecond", rate > 100 ?
Logger.NORMAL : Logger.DEBUG);
+ etTransferRate.reportTransferRate(key, rate);
} else {
Core.logger.log(this, "Not logging transfer rate because
size="+
size+",
transferTime="+transferTime,
Index: StandardNodeEstimatorFactory.java
===================================================================
RCS file:
/cvsroot/freenet/freenet/src/freenet/node/rt/StandardNodeEstimatorFactory.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -w -r1.3 -r1.4
--- StandardNodeEstimatorFactory.java 30 Oct 2003 01:34:06 -0000 1.3
+++ StandardNodeEstimatorFactory.java 6 Nov 2003 01:41:16 -0000 1.4
@@ -3,9 +3,11 @@
import java.io.IOException;
+import freenet.Core;
import freenet.Key;
import freenet.node.NodeReference;
import freenet.support.DataObjectPending;
+import freenet.support.Logger;
/**
* Factory interface for StandardNodeEstimators
@@ -40,8 +42,11 @@
NodeReference ref,
double rate,
boolean
needConnection) {
// Create completely new NodeEstimator for the identity
- return new StandardNodeEstimator(ngrt, ref, mem, raf, rtef, null,
+ NodeEstimator ne = new StandardNodeEstimator(ngrt, ref, mem, raf, rtef, null,
rate,
needConnection);
+ if(Core.logger.shouldLog(Logger.DEBUG, this))
+ Core.logger.log(this, "Created new NodeEstimator from scratch: "+ne,
Logger.DEBUG);
+ return ne;
}
public NodeEstimator create(RoutingMemory mem,
@@ -56,8 +61,11 @@
public NodeEstimator create(RoutingMemory mem, NodeReference ref,
Key k, double rate,
boolean needConnection) {
- return new StandardNodeEstimator(ngrt, ref, mem, raf, rtef, k, rate,
+ NodeEstimator ne = new StandardNodeEstimator(ngrt, ref, mem, raf,
rtef, k, rate,
needConnection);
+ if(Core.logger.shouldLog(Logger.DEBUG, this))
+ Core.logger.log(this, "Created new NodeEstimator from scratch:
"+ne, Logger.DEBUG);
+ return ne;
}
public TimeEstimator createGlobalTimeEstimator() {
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs