Author: toad
Date: 2007-10-26 22:00:19 +0000 (Fri, 26 Oct 2007)
New Revision: 15600

Modified:
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/PeerNode.java
Log:
logging

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2007-10-26 21:56:04 UTC 
(rev 15599)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2007-10-26 22:00:19 UTC 
(rev 15600)
@@ -286,7 +286,7 @@
                        if(myPeers[i] == pn) isInPeers=true;
                }
                int peerNodeStatus = pn.getPeerNodeStatus();
-               removePeerNodeStatus( peerNodeStatus, pn );
+               removePeerNodeStatus( peerNodeStatus, pn, isInPeers );
                String peerNodePreviousRoutingBackoffReason = 
pn.getPreviousBackoffReason();
                if(peerNodePreviousRoutingBackoffReason != null) {
                        
removePeerNodeRoutingBackoffReason(peerNodePreviousRoutingBackoffReason, pn);
@@ -1147,23 +1147,26 @@

        /**
         * Remove a PeerNode status from the map
+        * @param isInPeers If true, complain if the node is not in the peers 
list; if false, complain if it is.
         */
-       public void removePeerNodeStatus(int pnStatus, PeerNode peerNode) {
+       public void removePeerNodeStatus(int pnStatus, PeerNode peerNode, 
boolean isInPeers) {
                Integer peerNodeStatus = new Integer(pnStatus);
-               removePeerNodeStatus(pnStatus, peerNodeStatus, peerNode, 
peerNodeStatuses);
+               removePeerNodeStatus(pnStatus, peerNodeStatus, peerNode, 
peerNodeStatuses, isInPeers);
                if(!peerNode.isOpennet())
-                       removePeerNodeStatus(pnStatus, peerNodeStatus, 
peerNode, peerNodeStatusesDarknet);
+                       removePeerNodeStatus(pnStatus, peerNodeStatus, 
peerNode, peerNodeStatusesDarknet, isInPeers);
        }

-       private void removePeerNodeStatus(int pnStatus, Integer peerNodeStatus, 
PeerNode peerNode, HashMap statuses) {
+       private void removePeerNodeStatus(int pnStatus, Integer peerNodeStatus, 
PeerNode peerNode, HashMap statuses, boolean isInPeers) {
                HashSet statusSet = null;
                synchronized(statuses) {
                        if(statuses.containsKey(peerNodeStatus)) {
                                statusSet = (HashSet) 
statuses.get(peerNodeStatus);
                                if(!statusSet.contains(peerNode)) {
-                                       Logger.error(this, 
"removePeerNodeStatus(): identity '"+peerNode.getIdentityString()+" for 
"+peerNode.shortToString()+"' not in peerNodeStatuses with status 
'"+PeerNode.getPeerNodeStatusString(peerNodeStatus.intValue())+"'", new 
Exception("debug"));
+                                       if(isInPeers)
+                                               Logger.error(this, 
"removePeerNodeStatus(): identity '"+peerNode.getIdentityString()+" for 
"+peerNode.shortToString()+"' not in peerNodeStatuses with status 
'"+PeerNode.getPeerNodeStatusString(peerNodeStatus.intValue())+"'", new 
Exception("debug"));
                                        return;
-                               }
+                               } else if(!isInPeers)
+                                       Logger.error(this, 
"removePeerNodeStatus(): identity '"+peerNode.getIdentityString()+" for 
"+peerNode.shortToString()+"' should not be in peerNodeStatuses with given 
status '"+PeerNode.getPeerNodeStatusString(peerNodeStatus.intValue())+"'", new 
Exception("debug"));
                                statuses.remove(peerNodeStatus);
                        } else {
                                statusSet = new HashSet();

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2007-10-26 21:56:04 UTC 
(rev 15599)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2007-10-26 22:00:19 UTC 
(rev 15600)
@@ -2481,7 +2481,7 @@
                        peerNodeStatus = getPeerNodeStatus(now, 
routingBackedOffUntil);

                        if(peerNodeStatus != oldPeerNodeStatus) {
-                               peers.removePeerNodeStatus( oldPeerNodeStatus, 
this );
+                               peers.removePeerNodeStatus( oldPeerNodeStatus, 
this, true );
                                peers.addPeerNodeStatus( peerNodeStatus, this );
                        }



Reply via email to