Update of /cvsroot/freenet/freenet/src/freenet/node/states/request
In directory sc8-pr-cvs1:/tmp/cvs-serv20062/src/freenet/node/states/request
Modified Files:
Pending.java
Log Message:
if we time out sending a message, and it's still on the ConnectionHandler queue,
delete it from the queue. Also comment out some useless logging.
Index: Pending.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/states/request/Pending.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- Pending.java 9 Sep 2003 01:29:01 -0000 1.58
+++ Pending.java 11 Sep 2003 01:17:15 -0000 1.59
@@ -59,6 +59,7 @@
SendFinished feedbackSender = null;
SendFinished outwardSender = null;
+ ConnectionHandler outwardConnLastUsed = null;
public String toString() {
return super.toString()+", routedTime="+routedTime+", replyTime="+replyTime;
@@ -86,6 +87,7 @@
replyTime = p.replyTime;
feedbackSender = p.feedbackSender;
outwardSender = p.outwardSender;
+ outwardConnLastUsed = p.outwardConnLastUsed;
}
if(logDEBUG)
Core.logger.log(this, "Created new Pending: "+this+" from "+
@@ -583,19 +585,22 @@
receivedTime = -2; // make sure we aren't called twice
}
attemptCount++;
- ConnectionHandler ch =
+ outwardConnLastUsed =
n.makeConnection(addr, n.routeConnectTimeout);
- routes.routeConnected(ch.isCached());
+ routes.routeConnected(outwardConnLastUsed.isCached());
outwardSender = new SendFinished(n, id, r.toString());
if(logDEBUG) Core.logger.log(this, "Sending message "+r+" on "
- +ch+" for "+this+": "+outwardSender,
+ +outwardConnLastUsed+" for "+
+ this+": "+outwardSender,
Logger.DEBUG);
- ch.sendMessageAsync(r, outwardSender);
+
+ outwardConnLastUsed.sendMessageAsync(r, outwardSender);
// We only wait 1 hop time for accepted. Sending should take much less
time.
n.schedule(Core.hopTime(1), outwardSender);
- if(logDEBUG) Core.logger.log(this, "Sent message "+r+" on "+ch
- +" for "+this, Logger.DEBUG);
+ if(logDEBUG) Core.logger.log(this, "Sent message "+r+" on "+
+ outwardConnLastUsed+" for "+this,
+ Logger.DEBUG);
break;
} catch (CommunicationException e) {
++unreachable;
@@ -663,6 +668,8 @@
if(!sf.getSuccess()) {
Exception e = sf.failCause();
if(e == null) {
+ outwardConnLastUsed.unsendMessageAsync(sf);
+ outwardConnLastUsed = null;
// Timed out?
routes.searchFailed(System.currentTimeMillis());
++unreachable; // Sort of
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs