Update of /cvsroot/freenet/freenet/src/freenet/node/states/request
In directory sc8-pr-cvs1:/tmp/cvs-serv15808/src/freenet/node/states/request
Modified Files:
Pending.java SendFinished.java
Log Message:
6175: *Sender is persisted across recreation of Pending. Otherwise it's not much use!
Also logging. Should fix the really slow timeouts on web interface, speed up stuff etc.
Index: Pending.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/states/request/Pending.java,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- Pending.java 6 Sep 2003 00:56:02 -0000 1.56
+++ Pending.java 6 Sep 2003 01:50:31 -0000 1.57
@@ -81,8 +81,11 @@
Pending(RequestState ancestor) {
super(ancestor);
if(ancestor instanceof Pending) {
- routedTime = ((Pending)ancestor).routedTime;
- replyTime = ((Pending)ancestor).replyTime;
+ Pending p = (Pending)ancestor;
+ routedTime = p.routedTime;
+ replyTime = p.replyTime;
+ feedbackSender = p.feedbackSender;
+ outwardSender = p.outwardSender;
}
if(logDEBUG)
Core.logger.log(this, "Created new Pending: "+this+" from "+
@@ -583,9 +586,10 @@
ConnectionHandler ch =
n.makeConnection(addr, n.routeConnectTimeout);
routes.routeConnected(ch.isCached());
- if(logDEBUG) Core.logger.log(this, "Sending message "+r+" on "
- +ch+" for "+this, Logger.DEBUG);
outwardSender = new SendFinished(n, id, r.toString());
+ if(logDEBUG) Core.logger.log(this, "Sending message "+r+" on "
+ +ch+" for "+this+": "+outwardSender,
+ Logger.DEBUG);
ch.sendMessageAsync(r, outwardSender);
// We only wait 1 hop time for accepted. Sending should take much less
time.
@@ -628,8 +632,9 @@
throws BadStateException, RequestAbortException, EndOfRouteException {
// If not finished, timed out
if(sf == feedbackSender) {
- n.logger.log(this, "Got a SendFinished "+sf+" for "+this,
- Logger.NORMAL /* FIXME! */ );
+ if(logDEBUG)
+ n.logger.log(this, "Got a feedback SendFinished "+sf+" for "+
+ this, Logger.DEBUG /* FIXME! */ );
feedbackSender = null;
// Our feedback sender
// If success, cool
@@ -650,6 +655,9 @@
throw new RequestAbortException(new RequestDone(this));
}
} else if(sf == outwardSender) {
+ if(logDEBUG)
+ n.logger.log(this, "Got outbound SendFinished "+sf+" for "+
+ this, Logger.DEBUG /* FIXME! */ );
// Our DataRequest send
outwardSender = null;
if(!sf.getSuccess()) {
@@ -673,7 +681,7 @@
routes.searchFailed(System.currentTimeMillis());
} else {
n.logger.log(this, "DataRequest send caught "+e, e,
- Logger.NORMAL);
+ Logger.ERROR);
// Don't inform routes, we have no idea what it is
}
// Either way, restart
@@ -688,8 +696,16 @@
" for "+this, Logger.DEBUG);
sendOn(n, newReq, false);
} else {
+ if(logDEBUG)
+ n.logger.log(this, "Success: "+sf+" on "+this,
+ Logger.DEBUG);
+ sf.cancel();
scheduleRestart(n, Core.hopTime(1)); // timeout to get Accepted
}
+ } else {
+ if(logDEBUG)
+ n.logger.log(this, "Ignored "+sf+" - not recognized.",
+ Logger.DEBUG);
}
}
Index: SendFinished.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/states/request/SendFinished.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SendFinished.java 5 Sep 2003 16:08:51 -0000 1.3
+++ SendFinished.java 6 Sep 2003 01:50:31 -0000 1.4
@@ -26,6 +26,7 @@
succeeded = false;
this.n = n;
this.logMessage = logMessage;
+ n.logger.log(this, "Created "+this, Logger.DEBUG);
}
public String toString() {
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs