Changeset bc463f6d


Ignore:
Timestamp:
Sep 18, 2014 2:48:08 PM (6 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
eca7ac2
Parents:
ec2708a1
Message:

NetDB: Don't auto-ff if ARM or ElG decrypt is too slow

File:
1 edited

Legend:

Unmodified
Added
Removed
  • router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java

    rec2708a1 rbc463f6d  
    1111import net.i2p.router.peermanager.PeerProfile;
    1212import net.i2p.router.util.EventLog;
     13import net.i2p.stat.Rate;
     14import net.i2p.stat.RateStat;
    1315import net.i2p.util.Log;
     16import net.i2p.util.SystemVersion;
    1417
    1518/**
     
    7881
    7982        // auto from here down
     83
     84        // ARM ElG decrypt is too slow
     85        if (SystemVersion.isARM())
     86            return false;
    8087
    8188        // Only if up a while...
     
    149156            }
    150157        }
    151        
     158
     159        double elG = 0;
     160        RateStat stat = getContext().statManager().getRate("crypto.elGamal.decrypt");
     161        if (stat != null) {
     162            Rate rate = stat.getRate(60*60*1000L);
     163            if (rate != null) {
     164                elG = rate.getAvgOrLifetimeAvg();
     165                happy = happy && elG <= 40.0d;
     166            }
     167        }
     168
    152169        if (_log.shouldLog(Log.DEBUG)) {
    153170            final RouterContext rc = getContext();
    154171            final String log = String.format(
    155172                    "FF criteria breakdown: happy=%b, capabilities=%s, maxLag=%d, known=%d, " +
    156                     "active=%d, participating=%d, offset=%d, ssuAddr=%s",
     173                    "active=%d, participating=%d, offset=%d, ssuAddr=%s ElG=%f",
    157174                    happy,
    158175                    rc.router().getRouterInfo().getCapabilities(),
     
    162179                    rc.tunnelManager().getParticipatingCount(),
    163180                    Math.abs(rc.clock().getOffset()),
    164                     rc.router().getRouterInfo().getTargetAddress("SSU").toString()
     181                    rc.router().getRouterInfo().getTargetAddress("SSU").toString(),
     182                    elG
    165183                    );
    166184            _log.debug(log);
Note: See TracChangeset for help on using the changeset viewer.