Author: toad
Date: 2008-01-26 17:33:43 +0000 (Sat, 26 Jan 2008)
New Revision: 17305
Modified:
trunk/freenet/src/freenet/node/LocationManager.java
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/PeerManager.java
trunk/freenet/src/freenet/node/PeerNode.java
trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
Log:
Only send UOMAnnounce to real connections i.e. not seednode connections.
Modified: trunk/freenet/src/freenet/node/LocationManager.java
===================================================================
--- trunk/freenet/src/freenet/node/LocationManager.java 2008-01-26 17:27:49 UTC
(rev 17304)
+++ trunk/freenet/src/freenet/node/LocationManager.java 2008-01-26 17:33:43 UTC
(rev 17305)
@@ -573,7 +573,7 @@
*/
private void announceLocChange() {
Message msg = DMT.createFNPLocChangeNotification(getLocation());
- node.peers.localBroadcast(msg, false);
+ node.peers.localBroadcast(msg, false, true);
}
private boolean locked;
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2008-01-26 17:27:49 UTC (rev
17304)
+++ trunk/freenet/src/freenet/node/Node.java 2008-01-26 17:33:43 UTC (rev
17305)
@@ -2494,7 +2494,7 @@
try {
Message msg = DMT.createFNPDisconnect(false, false, -1,
new ShortBuffer(new byte[0]));
- peers.localBroadcast(msg, true);
+ peers.localBroadcast(msg, true, false);
} catch (Throwable t) {
try {
// E.g. if we haven't finished startup
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2008-01-26 17:27:49 UTC
(rev 17304)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2008-01-26 17:33:43 UTC
(rev 17305)
@@ -594,7 +594,7 @@
/**
* Asynchronously send this message to every connected peer.
*/
- public void localBroadcast(Message msg, boolean ignoreRoutability) {
+ public void localBroadcast(Message msg, boolean ignoreRoutability, boolean
onlyRealConnections) {
PeerNode[] peers;
synchronized (this) {
// myPeers not connectedPeers as connectedPeers only contains
@@ -607,6 +607,7 @@
} else {
if(!peers[i].isRoutable()) continue;
}
+ if(onlyRealConnections && !peers[i].isRealConnection())
continue;
try {
peers[i].sendAsync(msg, null, 0, null);
} catch (NotConnectedException e) {
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2008-01-26 17:27:49 UTC
(rev 17304)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2008-01-26 17:33:43 UTC
(rev 17305)
@@ -1897,7 +1897,7 @@
Logger.error(this, "Completed handshake with " +
getPeer() + " but disconnected (" + isConnected + ':' + currentTracker + "!!!:
" + e, e);
}
- if(node.nodeUpdater != null)
+ if(node.nodeUpdater != null && isRealConnection())
node.nodeUpdater.maybeSendUOMAnnounce(this);
sendConnectedDiffNoderef();
}
Modified: trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
===================================================================
--- trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
2008-01-26 17:27:49 UTC (rev 17304)
+++ trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
2008-01-26 17:33:43 UTC (rev 17305)
@@ -167,7 +167,7 @@
msg = getUOMAnnouncement();
broadcastUOMAnnounces = true;
}
- node.peers.localBroadcast(msg, true);
+ node.peers.localBroadcast(msg, true, true);
}
private Message getUOMAnnouncement() {