2006-04-10 jrandom

* Include a combined send/receive graph (good idea cervantes!)
    * Proactively drop inbound tunnel requests probabalistically as the
      estimated queue time approaches our limit, rather than letting them all
      through up to that limit.
This commit is contained in:
jrandom
2006-04-10 05:37:28 +00:00
committed by zzz
parent ab3f1b708d
commit b4fc6ca31b
7 changed files with 109 additions and 12 deletions

View File

@@ -15,9 +15,9 @@ import net.i2p.CoreVersion;
*
*/
public class RouterVersion {
public final static String ID = "$Revision: 1.389 $ $Date: 2006/04/08 01:15:46 $";
public final static String ID = "$Revision: 1.390 $ $Date: 2006/04/08 20:14:10 $";
public final static String VERSION = "0.6.1.14";
public final static long BUILD = 4;
public final static long BUILD = 5;
public static void main(String args[]) {
System.out.println("I2P Router version: " + VERSION + "-" + BUILD);
System.out.println("Router ID: " + RouterVersion.ID);

View File

@@ -603,7 +603,10 @@ class BuildHandler {
_context.statManager().addRateData("tunnel.dropLoadBacklog", _inboundBuildMessages.size(), _inboundBuildMessages.size());
} else {
int queueTime = estimateQueueTime(_inboundBuildMessages.size());
if (queueTime > BuildRequestor.REQUEST_TIMEOUT/2) {
float pDrop = queueTime/(BuildRequestor.REQUEST_TIMEOUT/2);
pDrop = pDrop * pDrop * pDrop;
float f = _context.random().nextFloat();
if (pDrop > f) {
_context.statManager().addRateData("tunnel.dropLoadProactive", queueTime, _inboundBuildMessages.size());
} else {
_inboundBuildMessages.add(new BuildMessageState(receivedMessage, from, fromHash));