Author: toad
Date: 2007-12-15 23:50:42 +0000 (Sat, 15 Dec 2007)
New Revision: 16592

Modified:
   trunk/freenet/src/freenet/node/AnnounceSender.java
Log:
NoderefRejected comes after Accepted.

Modified: trunk/freenet/src/freenet/node/AnnounceSender.java
===================================================================
--- trunk/freenet/src/freenet/node/AnnounceSender.java  2007-12-15 23:49:15 UTC 
(rev 16591)
+++ trunk/freenet/src/freenet/node/AnnounceSender.java  2007-12-15 23:50:42 UTC 
(rev 16592)
@@ -159,12 +159,11 @@
                 MessageFilter mfRejectedLoop = 
MessageFilter.create().setSource(next).setField(DMT.UID, 
uid).setTimeout(ACCEPTED_TIMEOUT).setType(DMT.FNPRejectedLoop);
                 MessageFilter mfRejectedOverload = 
MessageFilter.create().setSource(next).setField(DMT.UID, 
uid).setTimeout(ACCEPTED_TIMEOUT).setType(DMT.FNPRejectedOverload);
                 MessageFilter mfOpennetDisabled = 
MessageFilter.create().setSource(next).setField(DMT.UID, 
uid).setTimeout(ACCEPTED_TIMEOUT).setType(DMT.FNPOpennetDisabled);
-                MessageFilter mfOpennetNoderefRejected = 
MessageFilter.create().setSource(next).setField(DMT.UID, 
uid).setTimeout(ACCEPTED_TIMEOUT).setType(DMT.FNPOpennetNoderefRejected);

                 // mfRejectedOverload must be the last thing in the or
                 // So its or pointer remains null
                 // Otherwise we need to recreate it below
-                MessageFilter mf = 
mfAccepted.or(mfRejectedLoop.or(mfRejectedOverload.or(mfOpennetDisabled.or(mfOpennetNoderefRejected))));
+                MessageFilter mf = 
mfAccepted.or(mfRejectedLoop.or(mfRejectedOverload.or(mfOpennetDisabled)));

                 try {
                     msg = node.usm.waitFor(mf, this);
@@ -201,13 +200,6 @@
                        break;
                }

-               if(msg.getSpec() == DMT.FNPOpennetNoderefRejected) {
-                       int reason = msg.getInt(DMT.REJECT_CODE);
-                       Logger.normal(this, "Announce rejected by "+next+" : 
"+DMT.getOpennetRejectedCode(reason));
-                       msg = null;
-                       break;
-               }
-               
                if(msg.getSpec() != DMT.FNPAccepted) {
                        Logger.error(this, "Unrecognized message: "+msg);
                        continue;
@@ -245,7 +237,8 @@
                MessageFilter mfAnnounceReply = 
MessageFilter.create().setSource(next).setField(DMT.UID, 
uid).setTimeout(ANNOUNCE_TIMEOUT).setType(DMT.FNPOpennetAnnounceReply);
                 MessageFilter mfOpennetDisabled = 
MessageFilter.create().setSource(next).setField(DMT.UID, 
uid).setTimeout(ANNOUNCE_TIMEOUT).setType(DMT.FNPOpennetDisabled);
                 MessageFilter mfNotWanted = 
MessageFilter.create().setSource(next).setField(DMT.UID, 
uid).setTimeout(ANNOUNCE_TIMEOUT).setType(DMT.FNPOpennetAnnounceNodeNotWanted);
-               MessageFilter mf = 
mfAnnounceCompleted.or(mfRouteNotFound.or(mfRejectedOverload.or(mfAnnounceReply.or(mfOpennetDisabled.or(mfNotWanted)))));
+                MessageFilter mfOpennetNoderefRejected = 
MessageFilter.create().setSource(next).setField(DMT.UID, 
uid).setTimeout(ACCEPTED_TIMEOUT).setType(DMT.FNPOpennetNoderefRejected);
+               MessageFilter mf = 
mfAnnounceCompleted.or(mfRouteNotFound.or(mfRejectedOverload.or(mfAnnounceReply.or(mfOpennetDisabled.or(mfNotWanted.or(mfOpennetNoderefRejected))))));

                try {
                        msg = node.usm.waitFor(mf, this);
@@ -262,6 +255,13 @@
                        return;
                }

+               if(msg.getSpec() == DMT.FNPOpennetNoderefRejected) {
+                       int reason = msg.getInt(DMT.REJECT_CODE);
+                       Logger.normal(this, "Announce rejected by "+next+" : 
"+DMT.getOpennetRejectedCode(reason));
+                       msg = null;
+                       break;
+               }
+               
                if(msg.getSpec() == DMT.FNPOpennetAnnounceCompleted) {
                        // Send the completion on immediately. We don't want to 
accumulate 30 seconds per hop!
                        complete();


Reply via email to