Author: zothar
Date: 2006-06-11 04:19:04 +0000 (Sun, 11 Jun 2006)
New Revision: 9144

Modified:
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/Version.java
Log:
802: Update routing backoff reason summary for all PeerNode statuses (and on 
peer removal), not just when connected; (closes bug #443).  peers Vector should 
only have Peer elements, otherwise .toArray() may not like it; fixes a problem 
with having a peer on the same host as the node.

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2006-06-11 03:36:17 UTC 
(rev 9143)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2006-06-11 04:19:04 UTC 
(rev 9144)
@@ -147,6 +147,10 @@
         myPeers = newMyPeers;
         int peerNodeStatus = pn.getPeerNodeStatus();
         node.removePeerNodeStatus( peerNodeStatus, pn );
+        String peerNodePreviousRoutingBackoffReason = 
pn.getPreviousBackoffReason();
+        if(peerNodePreviousRoutingBackoffReason != null) {
+               
node.removePeerNodeRoutingBackoffReason(peerNodePreviousRoutingBackoffReason, 
pn);
+        }

         Logger.normal(this, "Removed "+pn);
        }

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2006-06-11 03:36:17 UTC 
(rev 9143)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2006-06-11 04:19:04 UTC 
(rev 9144)
@@ -615,7 +615,7 @@
                }
                if(addr.equals(nodeAddr)) {
                        if(!addedLocalhost)
-                               peers.add(localhost);
+                               peers.add(new Peer(localhost, p.getPort()));
                }
                if(peers.contains(p)) continue;
                peers.add(p);
@@ -1732,6 +1732,10 @@
                return lastRoutingBackoffReason;
        }

+       public String getPreviousBackoffReason() {
+               return previousRoutingBackoffReason;
+       }
+
        public void setLastBackoffReason(String s) {
                this.lastRoutingBackoffReason = s;
        }
@@ -1896,6 +1900,10 @@
                } else {
                        peerNodeStatus = Node.PEER_NODE_STATUS_DISCONNECTED;
                }
+               if(!isConnected && previousRoutingBackoffReason != null) {
+                       
node.removePeerNodeRoutingBackoffReason(previousRoutingBackoffReason, this);
+                       previousRoutingBackoffReason = null;
+               }
                if(peerNodeStatus != oldPeerNodeStatus) {
                  node.removePeerNodeStatus( oldPeerNodeStatus, this );
                  node.addPeerNodeStatus( peerNodeStatus, this );

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-11 03:36:17 UTC (rev 
9143)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-11 04:19:04 UTC (rev 
9144)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 801;
+       private static final int buildNumber = 802;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 765;


Reply via email to