Author: toad
Date: 2008-07-23 12:50:54 +0000 (Wed, 23 Jul 2008)
New Revision: 21338

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
   branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
   branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
   branches/db4o/freenet/src/freenet/node/fcp/WatchGlobal.java
Log:
Activate/deactivate client when used. DO NOT DEACTIVATE THE GLOBAL QUEUE 
CLIENT!!

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-07-23 
12:46:28 UTC (rev 21337)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-07-23 
12:50:54 UTC (rev 21338)
@@ -479,6 +479,8 @@
                if(persistenceType == PERSIST_FOREVER)
                        container.activate(client, 1);
                client.queueClientRequestMessage(msg, 
VERBOSITY_SPLITFILE_PROGRESS, container);
+               if(persistenceType == PERSIST_FOREVER && !client.isGlobalQueue)
+                       container.deactivate(client, 1);
        }

        public void sendPendingMessages(FCPConnectionOutputHandler handler, 
boolean includePersistentRequest, boolean includeData, boolean onlyData, 
ObjectContainer container) {

Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-07-23 
12:46:28 UTC (rev 21337)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-07-23 
12:50:54 UTC (rev 21338)
@@ -280,6 +280,8 @@
                                        container.activate(clients[i], 1);
                                if(clients[i].persistenceType != 
persistenceType) continue;
                                clients[i].queueClientRequestMessage(msg, 
verbosityLevel, true, container);
+                               if(persistenceType == 
ClientRequest.PERSIST_FOREVER)
+                                       container.deactivate(clients[i], 1);
                        }
                }
        }

Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2008-07-23 12:46:28 UTC (rev 21337)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2008-07-23 12:50:54 UTC (rev 21338)
@@ -118,8 +118,12 @@
                        public void run(ObjectContainer container, 
ClientContext context) {
                                if((rebootClient != null) && 
!rebootClient.hasPersistentRequests(container))
                                        server.unregisterClient(rebootClient, 
container);
-                               if((foreverClient != null) && 
!foreverClient.hasPersistentRequests(container))
-                                       server.unregisterClient(foreverClient, 
container);
+                               if(foreverClient != null) {
+                                       container.activate(foreverClient, 1);
+                                       
if(!foreverClient.hasPersistentRequests(container))
+                                               
server.unregisterClient(foreverClient, container);
+                                       container.deactivate(foreverClient, 1);
+                               }
                        }

                }, NativeThread.NORM_PRIORITY, false);
@@ -618,10 +622,12 @@
                FCPClient client =
                        global ? server.globalForeverClient :
                        getForeverClient(container);
+               container.activate(client, 1);
                ClientRequest req = client.getRequest(identifier, container);
                if(req != null) {
                        client.removeByIdentifier(identifier, true, server, 
container, server.core.clientContext);
                }
+               container.deactivate(client, 1);
                return req;
        }
 }

Modified: branches/db4o/freenet/src/freenet/node/fcp/WatchGlobal.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/WatchGlobal.java 2008-07-23 
12:46:28 UTC (rev 21337)
+++ branches/db4o/freenet/src/freenet/node/fcp/WatchGlobal.java 2008-07-23 
12:50:54 UTC (rev 21338)
@@ -48,7 +48,10 @@
                handler.server.core.clientContext.jobRunner.queue(new DBJob() {

                        public void run(ObjectContainer container, 
ClientContext context) {
-                               
handler.getForeverClient(container).setWatchGlobal(enabled, verbosityMask, 
handler.server, container);
+                               FCPClient client = 
handler.getForeverClient(container);
+                               container.activate(client, 1);
+                               client.setWatchGlobal(enabled, verbosityMask, 
handler.server, container);
+                               container.deactivate(client, 1);
                        }

                }, NativeThread.NORM_PRIORITY, false);


Reply via email to