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();