Author: toad
Date: 2007-12-15 14:09:10 +0000 (Sat, 15 Dec 2007)
New Revision: 16570
Modified:
trunk/freenet/src/freenet/node/PeerManager.java
Log:
Don't remove status etc if the node isn't in the peers list.
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2007-12-15 14:07:22 UTC
(rev 16569)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2007-12-15 14:09:10 UTC
(rev 16570)
@@ -293,18 +293,18 @@
for(int i=0;i<myPeers.length;i++) {
if(myPeers[i] == pn) isInPeers=true;
}
- int peerNodeStatus = pn.getPeerNodeStatus();
- if(pn.recordStatus())
- removePeerNodeStatus( peerNodeStatus, pn, !isInPeers );
- String peerNodePreviousRoutingBackoffReason =
pn.getPreviousBackoffReason();
- if(peerNodePreviousRoutingBackoffReason != null) {
-
removePeerNodeRoutingBackoffReason(peerNodePreviousRoutingBackoffReason, pn);
- }
if(pn instanceof DarknetPeerNode)
((DarknetPeerNode)pn).removeExtraPeerDataDir();
-
if(isInPeers) {
+ int peerNodeStatus = pn.getPeerNodeStatus();
+ if(pn.recordStatus())
+ removePeerNodeStatus( peerNodeStatus, pn,
!isInPeers );
+ String peerNodePreviousRoutingBackoffReason =
pn.getPreviousBackoffReason();
+ if(peerNodePreviousRoutingBackoffReason != null) {
+
removePeerNodeRoutingBackoffReason(peerNodePreviousRoutingBackoffReason, pn);
+ }
+
// removing from connectedPeers
ArrayList a = new ArrayList();
for(int i=0;i<myPeers.length;i++) {