diff --git a/router/java/src/net/i2p/router/peermanager/PeerManager.java b/router/java/src/net/i2p/router/peermanager/PeerManager.java index 8a7ea723d1..633f966500 100644 --- a/router/java/src/net/i2p/router/peermanager/PeerManager.java +++ b/router/java/src/net/i2p/router/peermanager/PeerManager.java @@ -99,6 +99,11 @@ class PeerManager { } } + /** @since 0.8.8 */ + void clearProfiles() { + _organizer.clearProfiles(); + } + Set selectPeers() { return _organizer.selectAllPeers(); } diff --git a/router/java/src/net/i2p/router/peermanager/PeerManagerFacadeImpl.java b/router/java/src/net/i2p/router/peermanager/PeerManagerFacadeImpl.java index e208daefe5..840b993beb 100644 --- a/router/java/src/net/i2p/router/peermanager/PeerManagerFacadeImpl.java +++ b/router/java/src/net/i2p/router/peermanager/PeerManagerFacadeImpl.java @@ -47,8 +47,10 @@ public class PeerManagerFacadeImpl implements PeerManagerFacade { public void shutdown() { _log.info("Shutting down the peer manager"); _testJob.stopTesting(); - if (_manager != null) + if (_manager != null) { _manager.storeProfiles(); + _manager.clearProfiles(); + } } public void restart() { diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java index 43080246d5..155f88bbcc 100644 --- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java +++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java @@ -227,6 +227,19 @@ public class ProfileOrganizer { public boolean isWellIntegrated(Hash peer) { return isX(_wellIntegratedPeers, peer); } public boolean isFailing(Hash peer) { return isX(_failingPeers, peer); } + /** @since 0.8.8 */ + void clearProfiles() { + getReadLock(); + try { + _failingPeers.clear(); + _fastPeers.clear(); + _highCapacityPeers.clear(); + _notFailingPeers.clear(); + _notFailingPeersList.clear(); + _wellIntegratedPeers.clear(); + } finally { releaseReadLock(); } + } + /** * if a peer sends us more than 5 replies in a searchReply that we cannot * fetch, stop listening to them.