[freenet-cvs] r16177 - trunk/freenet/src/freenet/node

nextgens at freenetproject.org nextgens at freenetproject.org
Sat Dec 1 13:43:35 UTC 2007


Author: nextgens
Date: 2007-12-01 13:43:35 +0000 (Sat, 01 Dec 2007)
New Revision: 16177

Modified:
   trunk/freenet/src/freenet/node/PacketSender.java
Log:
Fix a potential rekeying bug: we were "loosing" some packets here

Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java	2007-12-01 12:23:33 UTC (rev 16176)
+++ trunk/freenet/src/freenet/node/PacketSender.java	2007-12-01 13:43:35 UTC (rev 16177)
@@ -202,7 +202,7 @@
             lastReceivedPacketFromAnyNode =
                 Math.max(pn.lastReceivedPacketTime(), lastReceivedPacketFromAnyNode);
             pn.maybeOnConnect();
-            if(pn.isConnected() && !pn.isRekeying()) {
+            if(pn.isConnected()) {
             	// Is the node dead?
             	if(now - pn.lastReceivedPacketTime() > pn.maxTimeBetweenReceivedPackets()) {
             		Logger.normal(this, "Disconnecting from "+pn+" - haven't received packets recently");
@@ -309,21 +309,22 @@
                    	pn.getOutgoingMangler().processOutgoingOrRequeue(new MessageItem[] { new MessageItem(m, null, 0, null) }, pn, true, true);
                 }
             } else {
-                // Not connected
+		 // Not connected
+		if(pn.noContactDetails())
+                	pn.startARKFetcher();
+	    }
+	    if(pn.shouldSendHandshake()) {
                 // Send handshake if necessary
                 long beforeHandshakeTime = System.currentTimeMillis();
-                if(pn.shouldSendHandshake())
-                    pn.getOutgoingMangler().sendHandshake(pn);
-                if(pn.noContactDetails())
-                	pn.startARKFetcher();
+		pn.getOutgoingMangler().sendHandshake(pn);
                 long afterHandshakeTime = System.currentTimeMillis();
                 if((afterHandshakeTime - beforeHandshakeTime) > (2*1000))
                     Logger.error(this, "afterHandshakeTime is more than 2 seconds past beforeHandshakeTime ("+(afterHandshakeTime - beforeHandshakeTime)+") in PacketSender working with "+pn.userToString());
-            }
+	    }
     		long tempNow = System.currentTimeMillis();
-    		if((tempNow - oldTempNow) > (5*1000))
-    			Logger.error(this, "tempNow is more than 5 seconds past oldTempNow ("+(tempNow - oldTempNow)+") in PacketSender working with "+pn.userToString());
-    		oldTempNow = tempNow;
+		if((tempNow - oldTempNow) > (5 * 1000))
+			Logger.error(this, "tempNow is more than 5 seconds past oldTempNow (" + (tempNow - oldTempNow) + ") in PacketSender working with " + pn.userToString());
+		oldTempNow = tempNow;
     	}
         
         // Consider sending connect requests to our opennet old-peers.




More information about the cvs mailing list