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

Reply via email to