Author: toad
Date: 2007-12-04 18:27:15 +0000 (Tue, 04 Dec 2007)
New Revision: 16273

Modified:
   trunk/freenet/src/freenet/node/AnnounceSender.java
   trunk/freenet/src/freenet/node/AnnouncementCallback.java
   trunk/freenet/src/freenet/node/TextModeClientInterface.java
Log:
Another callback

Modified: trunk/freenet/src/freenet/node/AnnounceSender.java
===================================================================
--- trunk/freenet/src/freenet/node/AnnounceSender.java  2007-12-04 18:24:55 UTC 
(rev 16272)
+++ trunk/freenet/src/freenet/node/AnnounceSender.java  2007-12-04 18:27:15 UTC 
(rev 16273)
@@ -105,7 +105,7 @@

             if(next == null) {
                 // Backtrack
-               rnf();
+               rnf(next);
                 return;
             }
             if(logMINOR) Logger.minor(this, "Routing request to "+next);
@@ -221,7 +221,7 @@

                if(msg == null) {
                        // Fatal timeout
-                       timedOut();
+                       timedOut(next);
                        return;
                }

@@ -318,22 +318,24 @@
                return true;
        }

-       private void timedOut() {
+       private void timedOut(PeerNode next) {
                Message msg = DMT.createFNPRejectedOverload(uid, false);
                try {
                        source.sendAsync(msg, null, 0, this);
                } catch (NotConnectedException e) {
                        // Ok
                }
+               if(cb != null) cb.nodeFailed(next, "timed out");
        }

-       private void rnf() {
+       private void rnf(PeerNode next) {
                Message msg = DMT.createFNPRouteNotFound(uid, htl);
                try {
                        source.sendAsync(msg, null, 0, this);
                } catch (NotConnectedException e) {
                        // Ok
                }
+               if(cb != null) cb.nodeFailed(next, "route not found");
        }

        private void complete() {

Modified: trunk/freenet/src/freenet/node/AnnouncementCallback.java
===================================================================
--- trunk/freenet/src/freenet/node/AnnouncementCallback.java    2007-12-04 
18:24:55 UTC (rev 16272)
+++ trunk/freenet/src/freenet/node/AnnouncementCallback.java    2007-12-04 
18:27:15 UTC (rev 16273)
@@ -7,6 +7,7 @@

        public void completed();
        public void bogusNoderef(String reason);
+       public void nodeFailed(PeerNode pn, String reason);
        public void addedNode(PeerNode pn);

 }

Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-12-04 
18:24:55 UTC (rev 16272)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-12-04 
18:27:15 UTC (rev 16273)
@@ -936,6 +936,15 @@
                                                // Ignore
                                        }
                                }
+
+                               public void nodeFailed(PeerNode pn, String 
reason) {
+                                       try {
+                                               out.write(("Node failed: 
"+pn.shortToString()+" "+reason).getBytes());
+                                               out.flush();
+                                       } catch (IOException e) {
+                                               // Ignore
+                                       }
+                               }

                });
         } else {


Reply via email to