Author: toad
Date: 2008-12-17 20:27:48 +0000 (Wed, 17 Dec 2008)
New Revision: 24483

Modified:
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
Log:
Create blockFetchContext in the SplitFileFetcher.


Modified: branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java        
2008-12-17 20:24:37 UTC (rev 24482)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java        
2008-12-17 20:27:48 UTC (rev 24483)
@@ -261,6 +261,7 @@
                if(persistent)
                        container.store(this);
                
+               FetchContext blockFetchContext = new FetchContext(fetchContext, 
FetchContext.SPLITFILE_DEFAULT_BLOCK_MASK, true);
                if(segmentCount == 1) {
                        // splitfile* will be overwritten, this is bad
                        // so copy them
@@ -270,7 +271,7 @@
                        if(splitfileCheckBlocks.length > 0)
                                System.arraycopy(splitfileCheckBlocks, 0, 
newSplitfileCheckBlocks, 0, splitfileCheckBlocks.length);
                        segments[0] = new 
SplitFileFetcherSegment(splitfileType, newSplitfileDataBlocks, 
newSplitfileCheckBlocks, 
-                                       this, archiveContext, fetchContext, 
maxTempLength, recursionLevel, parent, 0, true);
+                                       this, archiveContext, 
blockFetchContext, maxTempLength, recursionLevel, parent, 0, true);
                        for(int i=0;i<newSplitfileDataBlocks.length;i++) {
                                if(Logger.shouldLog(Logger.MINOR, this)) 
Logger.minor(this, "Added data block "+i+" : 
"+newSplitfileDataBlocks[i].getNodeKey());
                                
tempListener.addKey(newSplitfileDataBlocks[i].getNodeKey(), 0, context);
@@ -298,7 +299,7 @@
                                if(copyCheckBlocks > 0)
                                        System.arraycopy(splitfileCheckBlocks, 
checkBlocksPtr, checkBlocks, 0, copyCheckBlocks);
                                segments[i] = new 
SplitFileFetcherSegment(splitfileType, dataBlocks, checkBlocks, this, 
archiveContext, 
-                                               fetchContext, maxTempLength, 
recursionLevel+1, parent, i, i == segments.length-1);
+                                               blockFetchContext, 
maxTempLength, recursionLevel+1, parent, i, i == segments.length-1);
                                for(int j=0;j<dataBlocks.length;j++)
                                        
tempListener.addKey(dataBlocks[j].getNodeKey(), i, context);
                                for(int j=0;j<checkBlocks.length;j++)

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-12-17 20:24:37 UTC (rev 24482)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-12-17 20:27:48 UTC (rev 24483)
@@ -61,7 +61,6 @@
        final SplitFileFetcher parentFetcher;
        final ClientRequester parent;
        final ArchiveContext archiveContext;
-       final FetchContext fetchContext;
        final long maxBlockLength;
        /** Has the segment finished processing? Irreversible. */
        private volatile boolean finished;
@@ -107,7 +106,7 @@
        
        private FECCodec codec;
        
-       public SplitFileFetcherSegment(short splitfileType, ClientCHK[] 
splitfileDataKeys, ClientCHK[] splitfileCheckKeys, SplitFileFetcher fetcher, 
ArchiveContext archiveContext, FetchContext fetchContext, long maxTempLength, 
int recursionLevel, ClientRequester requester, int segNum, boolean 
ignoreLastDataBlock) throws MetadataParseException, FetchException {
+       public SplitFileFetcherSegment(short splitfileType, ClientCHK[] 
splitfileDataKeys, ClientCHK[] splitfileCheckKeys, SplitFileFetcher fetcher, 
ArchiveContext archiveContext, FetchContext blockFetchContext, long 
maxTempLength, int recursionLevel, ClientRequester requester, int segNum, 
boolean ignoreLastDataBlock) throws MetadataParseException, FetchException {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.segNum = segNum;
                this.hashCode = super.hashCode();
@@ -139,9 +138,8 @@
                dataCooldownTimes = new long[dataKeys.length];
                checkCooldownTimes = new long[checkKeys.length];
                subSegments = new Vector<SplitFileFetcherSubSegment>();
-               this.fetchContext = fetchContext;
                maxBlockLength = maxTempLength;
-               blockFetchContext = new FetchContext(fetchContext, 
FetchContext.SPLITFILE_DEFAULT_BLOCK_MASK, true);
+               this.blockFetchContext = blockFetchContext;
                this.recursionLevel = 0;
                if(logMINOR) Logger.minor(this, "Created "+this+" for 
"+parentFetcher+" : "+dataRetries.length+" data blocks "+checkRetries.length+" 
check blocks");
                for(int i=0;i<dataKeys.length;i++)

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

Reply via email to