Author: toad
Date: 2006-06-30 13:51:46 +0000 (Fri, 30 Jun 2006)
New Revision: 9410

Modified:
   trunk/freenet/src/freenet/node/PacketSender.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/Version.java
Log:
845: Timed mandatory's are still not fully working. Fix hopefully; if a node's 
version becomes invalid (due to ours becoming mandatory), disconnect from it.

Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java    2006-06-30 02:08:28 UTC 
(rev 9409)
+++ trunk/freenet/src/freenet/node/PacketSender.java    2006-06-30 13:51:46 UTC 
(rev 9410)
@@ -152,6 +152,12 @@
             lastReceivedPacketFromAnyNode =
                 Math.max(pn.lastReceivedPacketTime(), 
lastReceivedPacketFromAnyNode);
             if(pn.isConnected()) {
+               
+               if(pn.shouldDisconnectNow()) {
+                       pn.forceDisconnect();
+                       continue;
+               }
+               
                 // Is the node dead?
                 if(now - pn.lastReceivedPacketTime() > 
pn.maxTimeBetweenReceivedPackets()) {
                        Logger.error(this, "Disconnecting from "+pn+" - haven't 
received packets recently");

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2006-06-30 02:08:28 UTC 
(rev 9409)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2006-06-30 13:51:46 UTC 
(rev 9410)
@@ -2027,5 +2027,9 @@
        public boolean isListenOnly() {
                return isListenOnly;
        }
+
+       public synchronized boolean shouldDisconnectNow() {
+               verifiedIncompatibleOlderVersion = invalidVersion();
+               return verifiedIncompatibleOlderVersion;
+       }
 }
-

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-30 02:08:28 UTC (rev 
9409)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-30 13:51:46 UTC (rev 
9410)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

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

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


Reply via email to