Author: toad
Date: 2008-06-14 11:21:06 +0000 (Sat, 14 Jun 2008)
New Revision: 20333
Modified:
branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
branches/db4o/freenet/src/freenet/client/InsertContext.java
branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
Log:
Remove Executor from InsertContext
Modified:
branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
2008-06-14 11:18:07 UTC (rev 20332)
+++ branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
2008-06-14 11:21:06 UTC (rev 20333)
@@ -198,7 +198,7 @@
forceNonPersistent ? new
NullPersistentFileTracker() : persistentFileTracker,
INSERT_RETRIES, CONSECUTIVE_RNFS_ASSUME_SUCCESS,
SPLITFILE_INSERT_THREADS,
SPLITFILE_BLOCKS_PER_SEGMENT, SPLITFILE_CHECK_BLOCKS_PER_SEGMENT,
- globalEventProducer, cacheLocalRequests,
core.uskManager, core.getExecutor());
+ globalEventProducer, cacheLocalRequests,
core.uskManager);
}
public FreenetURI[] generateKeyPair(String docName) {
Modified: branches/db4o/freenet/src/freenet/client/InsertContext.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/InsertContext.java 2008-06-14
11:18:07 UTC (rev 20332)
+++ branches/db4o/freenet/src/freenet/client/InsertContext.java 2008-06-14
11:21:06 UTC (rev 20333)
@@ -6,7 +6,6 @@
import freenet.client.async.USKManager;
import freenet.client.events.ClientEventProducer;
import freenet.client.events.SimpleEventProducer;
-import freenet.support.Executor;
import freenet.support.api.BucketFactory;
import freenet.support.io.NullPersistentFileTracker;
import freenet.support.io.PersistentFileTracker;
@@ -29,11 +28,10 @@
/** Interesting tradeoff, see comments at top of Node.java. */
public final boolean cacheLocalRequests;
public final USKManager uskManager;
- public final Executor executor;
public InsertContext(BucketFactory bf, BucketFactory persistentBF,
PersistentFileTracker tracker,
int maxRetries, int rnfsToSuccess, int maxThreads, int
splitfileSegmentDataBlocks, int splitfileSegmentCheckBlocks,
- ClientEventProducer eventProducer, boolean
cacheLocalRequests, USKManager uskManager, Executor executor) {
+ ClientEventProducer eventProducer, boolean
cacheLocalRequests, USKManager uskManager) {
this.bf = bf;
this.persistentFileTracker = tracker;
this.persistentBucketFactory = persistentBF;
@@ -47,7 +45,6 @@
this.splitfileSegmentDataBlocks = splitfileSegmentDataBlocks;
this.splitfileSegmentCheckBlocks = splitfileSegmentCheckBlocks;
this.cacheLocalRequests = cacheLocalRequests;
- this.executor = executor;
}
public InsertContext(InsertContext ctx, SimpleEventProducer producer,
boolean forceNonPersistent) {
@@ -64,7 +61,6 @@
this.splitfileSegmentDataBlocks =
ctx.splitfileSegmentDataBlocks;
this.splitfileSegmentCheckBlocks =
ctx.splitfileSegmentCheckBlocks;
this.cacheLocalRequests = ctx.cacheLocalRequests;
- this.executor = ctx.executor;
}
public InsertContext(InsertContext ctx, SimpleEventProducer producer) {
@@ -81,7 +77,6 @@
this.splitfileSegmentDataBlocks =
ctx.splitfileSegmentDataBlocks;
this.splitfileSegmentCheckBlocks =
ctx.splitfileSegmentCheckBlocks;
this.cacheLocalRequests = ctx.cacheLocalRequests;
- this.executor = ctx.executor;
}
}
Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
2008-06-14 11:18:07 UTC (rev 20332)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
2008-06-14 11:21:06 UTC (rev 20333)
@@ -107,7 +107,7 @@
if(data.size() > COMPRESS_OFF_THREAD_LIMIT) {
// Run off thread
OffThreadCompressor otc = new OffThreadCompressor();
- ctx.executor.execute(otc, "Compressor for "+this);
+ context.mainExecutor.execute(otc, "Compressor for
"+this);
} else {
tryCompress(container, context);
}
@@ -238,13 +238,13 @@
// insert it. Then when the splitinserter has finished, and the
// metadata insert has finished too, tell the master callback.
if(reportMetadataOnly) {
- SplitFileInserter sfi = new SplitFileInserter(parent,
cb, data, bestCodec, origSize, block.clientMetadata, ctx, getCHKOnly, metadata,
token, insertAsArchiveManifest, freeData);
+ SplitFileInserter sfi = new SplitFileInserter(parent,
cb, data, bestCodec, origSize, block.clientMetadata, ctx, getCHKOnly, metadata,
token, insertAsArchiveManifest, freeData, context);
cb.onTransition(this, sfi, container);
sfi.start(container, context);
if(earlyEncode) sfi.forceEncode(container, context);
} else {
SplitHandler sh = new SplitHandler();
- SplitFileInserter sfi = new SplitFileInserter(parent,
sh, data, bestCodec, origSize, block.clientMetadata, ctx, getCHKOnly, metadata,
token, insertAsArchiveManifest, freeData);
+ SplitFileInserter sfi = new SplitFileInserter(parent,
sh, data, bestCodec, origSize, block.clientMetadata, ctx, getCHKOnly, metadata,
token, insertAsArchiveManifest, freeData, context);
sh.sfi = sfi;
cb.onTransition(this, sh, container);
sfi.start(container, context);
Modified: branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
2008-06-14 11:18:07 UTC (rev 20332)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
2008-06-14 11:21:06 UTC (rev 20333)
@@ -16,6 +16,7 @@
import freenet.client.Metadata;
import freenet.keys.CHKBlock;
import freenet.keys.ClientCHK;
+import freenet.support.Executor;
import freenet.support.Logger;
import freenet.support.SimpleFieldSet;
import freenet.support.api.Bucket;
@@ -68,7 +69,7 @@
return fs;
}
- public SplitFileInserter(BaseClientPutter put, PutCompletionCallback
cb, Bucket data, Compressor bestCodec, long decompressedLength, ClientMetadata
clientMetadata, InsertContext ctx, boolean getCHKOnly, boolean isMetadata,
Object token, boolean insertAsArchiveManifest, boolean freeData) throws
InsertException {
+ public SplitFileInserter(BaseClientPutter put, PutCompletionCallback
cb, Bucket data, Compressor bestCodec, long decompressedLength, ClientMetadata
clientMetadata, InsertContext ctx, boolean getCHKOnly, boolean isMetadata,
Object token, boolean insertAsArchiveManifest, boolean freeData, ClientContext
context) throws InsertException {
logMINOR = Logger.shouldLog(Logger.MINOR, this);
this.parent = put;
this.insertAsArchiveManifest = insertAsArchiveManifest;
@@ -99,7 +100,7 @@
checkSegmentSize = splitfileAlgorithm ==
Metadata.SPLITFILE_NONREDUNDANT ? 0 : ctx.splitfileSegmentCheckBlocks;
// Create segments
- segments = splitIntoSegments(segmentSize, dataBuckets);
+ segments = splitIntoSegments(segmentSize, dataBuckets,
context.mainExecutor);
int count = 0;
for(int i=0;i<segments.length;i++)
count += segments[i].countCheckBlocks();
@@ -197,7 +198,7 @@
/**
* Group the blocks into segments.
*/
- private SplitFileInserterSegment[] splitIntoSegments(int segmentSize,
Bucket[] origDataBlocks) {
+ private SplitFileInserterSegment[] splitIntoSegments(int segmentSize,
Bucket[] origDataBlocks, Executor executor) {
int dataBlocks = origDataBlocks.length;
Vector segs = new Vector();
@@ -205,7 +206,7 @@
// First split the data up
if((dataBlocks < segmentSize) || (segmentSize == -1)) {
// Single segment
- FECCodec codec = FECCodec.getCodec(splitfileAlgorithm,
origDataBlocks.length, ctx.executor);
+ FECCodec codec = FECCodec.getCodec(splitfileAlgorithm,
origDataBlocks.length, executor);
SplitFileInserterSegment onlySeg = new
SplitFileInserterSegment(this, codec, origDataBlocks, ctx, getCHKOnly, 0);
segs.add(onlySeg);
} else {
@@ -218,7 +219,7 @@
j = i;
for(int x=0;x<seg.length;x++)
if(seg[x] == null) throw new
NullPointerException("In splitIntoSegs: "+x+" is null of "+seg.length+" of
"+segNo);
- FECCodec codec =
FECCodec.getCodec(splitfileAlgorithm, seg.length, ctx.executor);
+ FECCodec codec =
FECCodec.getCodec(splitfileAlgorithm, seg.length, executor);
SplitFileInserterSegment s = new
SplitFileInserterSegment(this, codec, seg, ctx, getCHKOnly, segNo);
segs.add(s);
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2008-06-14 11:18:07 UTC (rev 20332)
+++
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2008-06-14 11:21:06 UTC (rev 20333)
@@ -223,7 +223,7 @@
checkFS.removeSubset(index);
}
splitfileAlgo = FECCodec.getCodec(splitfileAlgorithm,
- dataBlockCount, checkBlocks.length,
ctx.executor);
+ dataBlockCount, checkBlocks.length,
context.mainExecutor);
if(checkBlocks.length > dataBlocks.length) {
// Work around 1135 bug.
@@ -234,7 +234,7 @@
Logger.normal(this, "Not encoded because no check
blocks");
encoded = false;
splitfileAlgo = FECCodec.getCodec(splitfileAlgorithm,
- dataBlockCount, ctx.executor);
+ dataBlockCount, context.mainExecutor);
int checkBlocksCount = splitfileAlgo.countCheckBlocks();
this.checkURIs = new ClientCHK[checkBlocksCount];
this.checkBlocks = new Bucket[checkBlocksCount];