Author: toad
Date: 2006-09-02 23:14:09 +0000 (Sat, 02 Sep 2006)
New Revision: 10378

Modified:
   trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java
   trunk/freenet/src/freenet/node/NodeDispatcher.java
   trunk/freenet/src/freenet/node/Version.java
Log:
Another batch of bugfixes for probe requests. Seem to be working now.

Modified: trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java       
2006-09-02 22:50:04 UTC (rev 10377)
+++ trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java       
2006-09-02 23:14:09 UTC (rev 10378)
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.3.5 on 02/09/06 23:32 */
+/* The following code was generated by JFlex 1.3.5 on 02/09/06 23:51 */

 package freenet.clients.http.filter;
 import java.io.*;
@@ -11,7 +11,7 @@
 /**
  * This class is a scanner generated by 
  * <a href="http://www.jflex.de/";>JFlex</a> 1.3.5
- * on 02/09/06 23:32 from the specification file
+ * on 02/09/06 23:51 from the specification file
  * <tt>file:/usr/src/cvs/eclipse-workspace/Freenet 
0.7/src/freenet/clients/http/filter/CSSTokenizerFilter.jflex</tt>
  */
 class CSSTokenizerFilter {

Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java  2006-09-02 22:50:04 UTC 
(rev 10377)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java  2006-09-02 23:14:09 UTC 
(rev 10378)
@@ -519,8 +519,12 @@

                PeerNode[] peers = node.peers.myPeers;

+               double myLoc = node.getLocation();
                // Update best

+               if(myLoc > target && myLoc < best)
+                       best = myLoc;
+               
                for(int i=0;i<peers.length;i++) {
                        if(!peers[i].isConnected()) {
                                if(logMINOR)
@@ -542,7 +546,6 @@

                // Update nearest

-               double myLoc = node.getLocation();
                if(PeerManager.distance(myLoc, target) > 
PeerManager.distance(nearest, target)) {
                        nearest = myLoc;
                        htl = Node.MAX_HTL;
@@ -553,14 +556,18 @@

                // Complete ?
                if(htl == 0) {
-                       // Complete
-                       Message complete = DMT.createFNPProbeReply(id, target, 
nearest, best, counter++);
-                       try {
-                               src.sendAsync(complete, null, 0, null);
-                       } catch (NotConnectedException e) {
-                               Logger.error(this, "Not connected completing a 
probe request from "+src);
+                       if(src != null) {
+                               // Complete
+                               Message complete = DMT.createFNPProbeReply(id, 
target, nearest, best, counter++);
+                               try {
+                                       src.sendAsync(complete, null, 0, null);
+                               } catch (NotConnectedException e) {
+                                       Logger.error(this, "Not connected 
completing a probe request from "+src);
+                               }
+                               return true;
+                       } else {
+                               complete("success", src, target, best, id);
                        }
-                       return true;
                }

                // Otherwise route it
@@ -582,7 +589,7 @@
                                                Logger.error(this, "Not 
connected rejecting a probe request from "+src);
                                        }
                                } else {
-                                       Logger.error(this, "Completed Probe 
request # "+id+" - RNF");
+                                       complete("RNF", src, target, best, id);
                                }
                                return true;
                        }
@@ -602,6 +609,12 @@

        }

+       private void complete(String msg, PeerNode src, double target, double 
best, long id) {
+               Logger.error(this, "Completed Probe request # "+id+" - RNF - 
"+msg+": "+best);
+               if(src == null)
+                       System.out.println("Completed probe from "+target+": 
"+best+" ("+id+")");
+       }
+
        private boolean handleProbeReply(Message m, PeerNode src) {
                long id = m.getLong(DMT.UID);
                Long lid = new Long(id);

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-09-02 22:50:04 UTC (rev 
10377)
+++ trunk/freenet/src/freenet/node/Version.java 2006-09-02 23:14:09 UTC (rev 
10378)
@@ -21,7 +21,7 @@
        public static final String protocolVersion = "1.0";

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

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


Reply via email to