Author: toad
Date: 2009-03-11 20:12:43 +0000 (Wed, 11 Mar 2009)
New Revision: 25995

Modified:
   branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java
   branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
   branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
   branches/db4o/freenet/src/freenet/node/NodeClientCore.java
   branches/db4o/freenet/src/freenet/node/SendableInsert.java
   branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
Log:
Propagate the cache inserts locally setting properly


Modified: 
branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java 
2009-03-11 20:10:16 UTC (rev 25994)
+++ branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java 
2009-03-11 20:12:43 UTC (rev 25995)
@@ -62,8 +62,9 @@
                        cacheLocalRequests = ctx.cacheLocalRequests;
                        ignoreStore = ctx.ignoreStore;
                } else {
+                       SendableInsert sg = (SendableInsert) req;
                        localRequestOnly = false;
-                       cacheLocalRequests = false;
+                       cacheLocalRequests = sg.cacheInserts(container);
                        ignoreStore = false;
                }
                blocksNotStarted = new ArrayList<PersistentChosenBlock>();

Modified: 
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java     
2009-03-11 20:10:16 UTC (rev 25994)
+++ branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java     
2009-03-11 20:12:43 UTC (rev 25995)
@@ -686,6 +686,20 @@
                }
                container.delete(this);
        }
+
+       @Override
+       public boolean cacheInserts(ObjectContainer container) {
+               boolean deactivate = false;
+               if(persistent) {
+                       deactivate = !container.ext().isActive(ctx);
+                       if(deactivate)
+                               container.activate(ctx, 1);
+               }
+               boolean retval = ctx.cacheLocalRequests;
+               if(deactivate)
+                       container.deactivate(ctx, 1);
+               return retval;
+       }
        
 //     public boolean objectCanNew(ObjectContainer container) {
 //             Logger.minor(this, "objectCanNew() on "+this, new 
Exception("debug"));

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java    
    2009-03-11 20:10:16 UTC (rev 25994)
+++ 
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java    
    2009-03-11 20:12:43 UTC (rev 25995)
@@ -1538,4 +1538,19 @@
                }
                container.delete(this);
        }
+       
+       @Override
+       public boolean cacheInserts(ObjectContainer container) {
+               boolean deactivate = false;
+               if(persistent) {
+                       deactivate = 
!container.ext().isActive(blockInsertContext);
+                       if(deactivate)
+                               container.activate(blockInsertContext, 1);
+               }
+               boolean retval = blockInsertContext.cacheLocalRequests;
+               if(deactivate)
+                       container.deactivate(blockInsertContext, 1);
+               return retval;
+       }
+       
 }

Modified: branches/db4o/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeClientCore.java  2009-03-11 
20:10:16 UTC (rev 25994)
+++ branches/db4o/freenet/src/freenet/node/NodeClientCore.java  2009-03-11 
20:12:43 UTC (rev 25995)
@@ -1189,6 +1189,10 @@
        public HighLevelSimpleClient makeClient(short prioClass, boolean 
forceDontIgnoreTooManyPathComponents) {
                return new HighLevelSimpleClientImpl(this, tempBucketFactory, 
random, !Node.DONT_CACHE_LOCAL_REQUESTS, prioClass, 
forceDontIgnoreTooManyPathComponents);
        }
+       
+       public boolean cacheInserts() {
+               return !Node.DONT_CACHE_LOCAL_REQUESTS;
+       }
 
        public FCPServer getFCPServer() {
                return fcpServer;

Modified: branches/db4o/freenet/src/freenet/node/SendableInsert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SendableInsert.java  2009-03-11 
20:10:16 UTC (rev 25994)
+++ branches/db4o/freenet/src/freenet/node/SendableInsert.java  2009-03-11 
20:12:43 UTC (rev 25995)
@@ -42,5 +42,7 @@
                else
                        return context.getChkInsertScheduler();
        }
+
+       public abstract boolean cacheInserts(ObjectContainer container);
        
 }

Modified: branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java    
2009-03-11 20:10:16 UTC (rev 25994)
+++ branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java    
2009-03-11 20:12:43 UTC (rev 25995)
@@ -179,4 +179,9 @@
                // Transient-only so no makeBlocks().
                throw new UnsupportedOperationException();
        }
+
+       @Override
+       public boolean cacheInserts(ObjectContainer container) {
+               return scheduler.cacheInserts();
+       }
 }

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to