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

Reply via email to