forked from I2P_Developers/i2p.i2p
Router: Only flood LS2 to router that supports it
Use same version check in StoreJob for flooding
This commit is contained in:
@ -234,6 +234,7 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad
|
|||||||
_log.info("Flooding the entry for " + key + " to " + i + " more, just before midnight");
|
_log.info("Flooding the entry for " + key + " to " + i + " more, just before midnight");
|
||||||
}
|
}
|
||||||
int flooded = 0;
|
int flooded = 0;
|
||||||
|
boolean isls2 = ds.isLeaseSet() && ds.getType() != DatabaseEntry.KEY_TYPE_LEASESET;
|
||||||
for (int i = 0; i < peers.size(); i++) {
|
for (int i = 0; i < peers.size(); i++) {
|
||||||
Hash peer = peers.get(i);
|
Hash peer = peers.get(i);
|
||||||
RouterInfo target = lookupRouterInfoLocally(peer);
|
RouterInfo target = lookupRouterInfoLocally(peer);
|
||||||
@ -246,6 +247,11 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad
|
|||||||
continue;
|
continue;
|
||||||
if (peer.equals(_context.routerHash()))
|
if (peer.equals(_context.routerHash()))
|
||||||
continue;
|
continue;
|
||||||
|
// min version checks
|
||||||
|
if (isls2 && !StoreJob.shouldStoreLS2To(target))
|
||||||
|
continue;
|
||||||
|
if (!StoreJob.shouldStoreTo(target))
|
||||||
|
continue;
|
||||||
DatabaseStoreMessage msg = new DatabaseStoreMessage(_context);
|
DatabaseStoreMessage msg = new DatabaseStoreMessage(_context);
|
||||||
msg.setEntry(ds);
|
msg.setEntry(ds);
|
||||||
OutNetMessage m = new OutNetMessage(_context, msg, _context.clock().now()+FLOOD_TIMEOUT, FLOOD_PRIORITY, target);
|
OutNetMessage m = new OutNetMessage(_context, msg, _context.clock().now()+FLOOD_TIMEOUT, FLOOD_PRIORITY, target);
|
||||||
|
Reference in New Issue
Block a user