Author: toad
Date: 2007-12-04 18:52:54 +0000 (Tue, 04 Dec 2007)
New Revision: 16277
Modified:
trunk/freenet/src/freenet/node/AnnounceSender.java
Log:
Fix some more announcee-side NPEs
Modified: trunk/freenet/src/freenet/node/AnnounceSender.java
===================================================================
--- trunk/freenet/src/freenet/node/AnnounceSender.java 2007-12-04 18:47:53 UTC
(rev 16276)
+++ trunk/freenet/src/freenet/node/AnnounceSender.java 2007-12-04 18:52:54 UTC
(rev 16277)
@@ -63,8 +63,10 @@
} catch (Throwable t) {
Logger.error(this, "Caught "+t+" announcing "+uid+"
from "+source, t);
} finally {
- source.completedAnnounce(uid);
- source.node.completed(uid);
+ if(source != null) {
+ source.completedAnnounce(uid);
+ }
+ node.completed(uid);
}
}
@@ -178,7 +180,7 @@
if(msg.getSpec() == DMT.FNPOpennetNoderefRejected) {
int reason = msg.getInt(DMT.REJECT_CODE);
- Logger.normal(this, "Announce rejected by "+source+" :
"+DMT.getOpennetRejectedCode(reason));
+ Logger.normal(this, "Announce rejected by "+next+" :
"+DMT.getOpennetRejectedCode(reason));
msg = null;
break;
}
@@ -321,30 +323,36 @@
private void timedOut(PeerNode next) {
Message msg = DMT.createFNPRejectedOverload(uid, false);
- try {
- source.sendAsync(msg, null, 0, this);
- } catch (NotConnectedException e) {
- // Ok
+ if(source != null) {
+ try {
+ source.sendAsync(msg, null, 0, this);
+ } catch (NotConnectedException e) {
+ // Ok
+ }
}
if(cb != null) cb.nodeFailed(next, "timed out");
}
private void rnf(PeerNode next) {
Message msg = DMT.createFNPRouteNotFound(uid, htl);
- try {
- source.sendAsync(msg, null, 0, this);
- } catch (NotConnectedException e) {
- // Ok
+ if(source != null) {
+ try {
+ source.sendAsync(msg, null, 0, this);
+ } catch (NotConnectedException e) {
+ // Ok
+ }
}
if(cb != null) cb.nodeFailed(next, "route not found");
}
private void complete() {
Message msg = DMT.createFNPOpennetAnnounceCompleted(uid);
- try {
- source.sendAsync(msg, null, 0, this);
- } catch (NotConnectedException e) {
- // Oh well.
+ if(source != null) {
+ try {
+ source.sendAsync(msg, null, 0, this);
+ } catch (NotConnectedException e) {
+ // Oh well.
+ }
}
}