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];


Reply via email to