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;