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() {


Reply via email to