Author: nextgens
Date: 2006-06-09 11:29:13 +0000 (Fri, 09 Jun 2006)
New Revision: 9092

Modified:
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/Version.java
Log:
788: revert r9079 : it seems to be harmfull ; no time to investigate

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2006-06-08 22:39:53 UTC 
(rev 9091)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2006-06-09 11:29:13 UTC 
(rev 9092)
@@ -819,14 +819,20 @@
     }

     boolean firstHandshake = true;
-
-    private void calcNextHandshake(boolean couldSendHandshake) {
+    
+    /**
+     * Call this method when a handshake request has been
+     * sent.
+     */
+    public void sentHandshake() {
+        Logger.debug(this, "sentHandshake(): "+this);
         long now = -1;
         synchronized(this) {
             now = System.currentTimeMillis();
             if(verifiedIncompatibleOlderVersion || 
verifiedIncompatibleNewerVersion) { 
                 // Let them know we're here, but have no hope of connecting
                 sendHandshakeTime = now + Node.MIN_TIME_BETWEEN_VERSION_SENDS
+                  + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_VERSION_SENDS)
                   + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_VERSION_SENDS);
             } else if(invalidVersion() && !firstHandshake) {
                 sendHandshakeTime = now + Node.MIN_TIME_BETWEEN_VERSION_PROBES
@@ -835,11 +841,7 @@
                 sendHandshakeTime = now + Node.MIN_TIME_BETWEEN_HANDSHAKE_SENDS
                 + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_HANDSHAKE_SENDS);
             }
-            if(couldSendHandshake) {
-               firstHandshake = false;
-            } else {
-               handshakeIPs = null;
-            }
+            firstHandshake = false;
             this.handshakeCount++;
         }
         // Don't fetch ARKs for peers we have verified (through handshake) to 
be incompatible with us
@@ -860,21 +862,36 @@
     }

     /**
-     * Call this method when a handshake request has been
-     * sent.
-     */
-    public void sentHandshake() {
-        Logger.debug(this, "sentHandshake(): "+this);
-        calcNextHandshake(true);
-    }
-    
-    /**
      * Call this method when a handshake request could not be sent (i.e. no IP 
address available)
      * sent.
      */
     public void couldNotSendHandshake() {
         Logger.minor(this, "couldNotSendHandshake(): "+this);
-        calcNextHandshake(false);
+        long now = -1;
+        synchronized(this) {
+            now = System.currentTimeMillis();
+            if(verifiedIncompatibleOlderVersion || 
verifiedIncompatibleNewerVersion) { 
+                // Let them know we're here, but have no hope of connecting
+                sendHandshakeTime = now + Node.MIN_TIME_BETWEEN_VERSION_SENDS
+                  + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_VERSION_SENDS)
+                  + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_VERSION_SENDS);
+            } else if(invalidVersion() && !firstHandshake) {
+                sendHandshakeTime = now + Node.MIN_TIME_BETWEEN_VERSION_PROBES
+                  + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_VERSION_PROBES)
+                  + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_VERSION_PROBES);
+            } else {
+                sendHandshakeTime = now + Node.MIN_TIME_BETWEEN_HANDSHAKE_SENDS
+                  + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_HANDSHAKE_SENDS)
+                  + 
node.random.nextInt(Node.RANDOMIZED_TIME_BETWEEN_HANDSHAKE_SENDS);
+            }
+            handshakeIPs = null;
+            this.handshakeCount++;
+        }
+        // Don't fetch ARKs for peers we have verified (through handshake) to 
be incompatible with us
+        if(handshakeCount == MAX_HANDSHAKE_COUNT && 
!(verifiedIncompatibleOlderVersion || verifiedIncompatibleNewerVersion)) {
+               Logger.normal( this, "Starting ARK Fetcher after 
"+handshakeCount+" failed handshakes(2) for "+getPeer()+" with identity 
'"+getIdentityString()+"'");
+               arkFetcher.start();
+        }
     }

     /**

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-08 22:39:53 UTC (rev 
9091)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-09 11:29:13 UTC (rev 
9092)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

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

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


Reply via email to