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