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.");
}