diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java index 85e22bdd92eb69be6ddb361dcb94b8edb88fa48b..5ad8c64c0e3572dba8b82fddedce5268142678bc 100644 --- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java +++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java @@ -1025,15 +1025,15 @@ public class ProfileOrganizer { _notFailingPeers.put(profile.getPeer(), profile); _notFailingPeersList.add(profile.getPeer()); - if (_thresholdCapacityValue <= profile.getCapacityValue()) { + // if not selectable for a tunnel (shitlisted for example), + // don't allow them in the high-cap pool, what would the point of that be? + if (_thresholdCapacityValue <= profile.getCapacityValue() && + isSelectable(profile.getPeer())) { _highCapacityPeers.put(profile.getPeer(), profile); if (_log.shouldLog(Log.DEBUG)) _log.debug("High capacity: \t" + profile.getPeer().toBase64()); if (_thresholdSpeedValue <= profile.getSpeedValue()) { - if (!isSelectable(profile.getPeer())) { - if (_log.shouldLog(Log.INFO)) - _log.info("Skipping fast mark [!ok] for " + profile.getPeer().toBase64()); - } else if (!profile.getIsActive()) { + if (!profile.getIsActive()) { if (_log.shouldLog(Log.INFO)) _log.info("Skipping fast mark [!active] for " + profile.getPeer().toBase64()); } else {