On Mar 13, 2008, at 5:29 PM, toad at freenetproject.org wrote:

> Author: toad
> Date: 2008-03-13 22:29:00 +0000 (Thu, 13 Mar 2008)
> New Revision: 18520
>
> Modified:
>   trunk/freenet/src/freenet/io/xfer/PacketThrottle.java
>   trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
>   trunk/freenet/src/freenet/node/Node.java
>   trunk/freenet/src/freenet/node/NodeStarter.java
>   trunk/freenet/src/freenet/node/PeerNode.java
>   trunk/freenet/src/freenet/node/simulator/ 
> RealNodeBusyNetworkTest.java
>   trunk/freenet/src/freenet/node/simulator/ 
> RealNodeNetworkColoringTest.java
>   trunk/freenet/src/freenet/node/simulator/RealNodePingTest.java
>   trunk/freenet/src/freenet/node/simulator/ 
> RealNodeRequestInsertTest.java
>   trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
>   trunk/freenet/src/freenet/node/simulator/RealNodeSecretPingTest.java
>   trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java
> Log:
> isLocal() -> !shouldThrottle().
> New config option throttleLocalTraffic.
> Enable it in the simulator, if and only if we want limiting in this  
> simulation.
>
> Modified: trunk/freenet/src/freenet/io/xfer/PacketThrottle.java
> ===================================================================
> --- trunk/freenet/src/freenet/io/xfer/PacketThrottle.java     2008-03-13  
> 22:20:30 UTC (rev 18519)
> +++ trunk/freenet/src/freenet/io/xfer/PacketThrottle.java     2008-03-13  
> 22:29:00 UTC (rev 18520)
> @@ -191,7 +191,7 @@
>                       Logger.minor(this, "Congestion control wait time: 
> "+waitTime+"  
> for "+this);
>               MyCallback callback = new MyCallback();
>               try {
> -                     if(!((PeerNode)peer).isLocalAddress()) {
> +                     if(!((PeerNode)peer).shouldThrottle()) {
>                               if(logMINOR) Logger.minor(this, "Throttling  
> "+peer.shortToString()+" : "+packetSize+" for "+this);
>                               long startTime = System.currentTimeMillis();
>                               overallThrottle.blockingGrab(packetSize);
>
> [...]
> Modified: trunk/freenet/src/freenet/node/PeerNode.java
> ===================================================================
> --- trunk/freenet/src/freenet/node/PeerNode.java      2008-03-13 22:20:30  
> UTC (rev 18519)
> +++ trunk/freenet/src/freenet/node/PeerNode.java      2008-03-13 22:29:00  
> UTC (rev 18520)
> @@ -3701,10 +3701,11 @@
>                       sendAsync(DMT.createFNPNetworkID(assignedNetworkID), 
> null, 0, ctr);
>       }
>
> -     public boolean isLocalAddress() {
> +     public boolean shouldThrottle() {
>               Peer peer = getPeer();
> -             if(peer == null) return false; // presumably
> -             return !IPUtil.isValidAddress(peer.getAddress(), false);
> +             if(node.throttleLocalData) return true;
> +             if(peer == null) return true; // presumably
> +             return IPUtil.isValidAddress(peer.getAddress(), false);
>       }


Unless I read this wrong you have inverted the return value  
(isLocalAddress()==!shouldThrottle()), but did not negate the  
condition where it is used.

The code in PacketThrottle now reads:

if (should NOT throttle) {
        log("throttling");
        ...
}

--
Robert Hailey




Reply via email to