From 0f048a7aa6eea033f6a2c147db54f35c5356b8ee Mon Sep 17 00:00:00 2001 From: zzz Date: Tue, 26 Jun 2018 15:39:08 +0000 Subject: [PATCH] NTCP2: New FNDF method --- .../FloodfillNetworkDatabaseFacade.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java index d606e42a55..2c905f32b7 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java @@ -180,6 +180,24 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad return _lookupThrottler == null || _lookupThrottler.shouldThrottle(from, id); } + /** + * If we are floodfill AND the key is not throttled, + * flood it, otherwise don't. + * + * @return if we did + * @since 0.9.36 for NTCP2 + */ + public boolean floodConditional(DatabaseEntry ds) { + if (!floodfillEnabled()) + return false; + if (shouldThrottleFlood(ds.getHash())) { + _context.statManager().addRateData("netDb.floodThrottled", 1); + return false; + } + flood(ds); + return true; + } + /** * Send to a subset of all floodfill peers. * We do this to implement Kademlia within the floodfills, i.e.