Author: toad
Date: 2008-06-19 15:36:50 +0000 (Thu, 19 Jun 2008)
New Revision: 20493

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
   branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java
Log:
Move initial message sending to setClientName(), not register*. Fix for 
persistent.

Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2008-06-19 15:30:08 UTC (rev 20492)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2008-06-19 15:36:50 UTC (rev 20493)
@@ -172,6 +172,7 @@
        public void setClientName(final String name) {
                this.clientName = name;
                rebootClient = server.registerRebootClient(name, server.core, 
this);
+               
rebootClient.queuePendingMessagesOnConnectionRestart(outputHandler, null);
                server.core.clientContext.jobRunner.queue(new DBJob() {

                        public void run(ObjectContainer container, 
ClientContext context) {
@@ -181,6 +182,7 @@
                                                foreverClient = client;
                                                
FCPConnectionHandler.this.notifyAll();
                                        }
+                                       
client.queuePendingMessagesOnConnectionRestart(outputHandler, container);
                                } catch (Throwable t) {
                                        Logger.error(this, "Caught "+t+" 
creating persistent client for "+name, t);
                                        failedGetForever = true;

Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java   2008-06-19 
15:30:08 UTC (rev 20492)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java   2008-06-19 
15:36:50 UTC (rev 20493)
@@ -465,6 +465,7 @@
                                if(oldConn == null) {
                                        // Easy
                                        oldClient.setConnection(handler);
+                                       return oldClient;
                                } else {
                                        // Kill old connection
                                        oldConn.setKilledDupe();
@@ -475,9 +476,6 @@
                                }
                        }
                }
-               if(handler != null)
-                       
oldClient.queuePendingMessagesOnConnectionRestart(handler.outputHandler, null);
-               return oldClient;
        }

        public FCPClient registerForeverClient(String name, NodeClientCore 
core, FCPConnectionHandler handler, ObjectContainer container) {


Reply via email to