Author: toad
Date: 2007-12-17 13:22:16 +0000 (Mon, 17 Dec 2007)
New Revision: 16657

Modified:
   trunk/freenet/src/freenet/node/AnnounceSender.java
   trunk/freenet/src/freenet/node/AnnouncementCallback.java
   trunk/freenet/src/freenet/node/Announcer.java
   trunk/freenet/src/freenet/node/TextModeClientInterface.java
Log:
Add noMoreNodes() instead of calling nodeFailed(null,...). Fixes NPE and is 
better API.

Modified: trunk/freenet/src/freenet/node/AnnounceSender.java
===================================================================
--- trunk/freenet/src/freenet/node/AnnounceSender.java  2007-12-17 13:18:46 UTC 
(rev 16656)
+++ trunk/freenet/src/freenet/node/AnnounceSender.java  2007-12-17 13:22:16 UTC 
(rev 16657)
@@ -433,6 +433,7 @@
                        }
                }
                if(cb != null) cb.nodeFailed(next, "route not found");
+               else cb.noMoreNodes();
        }

        private void complete() {

Modified: trunk/freenet/src/freenet/node/AnnouncementCallback.java
===================================================================
--- trunk/freenet/src/freenet/node/AnnouncementCallback.java    2007-12-17 
13:18:46 UTC (rev 16656)
+++ trunk/freenet/src/freenet/node/AnnouncementCallback.java    2007-12-17 
13:22:16 UTC (rev 16657)
@@ -8,6 +8,8 @@
        public void completed();
        public void bogusNoderef(String reason);
        public void nodeFailed(PeerNode pn, String reason);
+       /* RNF */
+       public void noMoreNodes();
        public void addedNode(PeerNode pn);
        public void nodeNotWanted();


Modified: trunk/freenet/src/freenet/node/Announcer.java
===================================================================
--- trunk/freenet/src/freenet/node/Announcer.java       2007-12-17 13:18:46 UTC 
(rev 16656)
+++ trunk/freenet/src/freenet/node/Announcer.java       2007-12-17 13:22:16 UTC 
(rev 16657)
@@ -383,6 +383,9 @@
                        public void nodeFailed(PeerNode pn, String reason) {
                                Logger.error(this, "Announcement to node 
"+pn.userToString()+" failed: "+reason);
                        }
+                       public void noMoreNodes() {
+                               Logger.error(this, "Announcement to 
"+seed.userToString()+" ran out of nodes (route not found)");
+                       }
                        public void nodeNotWanted() {
                                synchronized(Announcer.this) {
                                        announcementNotWantedNodes++;

Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-12-17 
13:18:46 UTC (rev 16656)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-12-17 
13:22:16 UTC (rev 16657)
@@ -934,6 +934,10 @@
                                        write("Node failed: "+pn+" "+reason);
                                }

+                               public void noMoreNodes() {
+                                       write("Route Not Found");
+                               }
+                               
                                public void nodeNotWanted() {
                                        write("Hop doesn't want me.");
                                }


Reply via email to