Author: toad
Date: 2008-06-25 01:50:58 +0000 (Wed, 25 Jun 2008)
New Revision: 20670

Modified:
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
Log:
Store parent (ClientRequester) on the SplitFileFetcherSegment as well as the 
SplitFileFetcher

Modified: branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java        
2008-06-25 01:48:14 UTC (rev 20669)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java        
2008-06-25 01:50:58 UTC (rev 20670)
@@ -145,7 +145,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);
+                                       this, archiveContext, fetchContext, 
maxTempLength, recursionLevel, parent);
                } else {
                        int dataBlocksPtr = 0;
                        int checkBlocksPtr = 0;
@@ -162,7 +162,7 @@
                                dataBlocksPtr += copyDataBlocks;
                                checkBlocksPtr += copyCheckBlocks;
                                segments[i] = new 
SplitFileFetcherSegment(splitfileType, dataBlocks, checkBlocks, this, 
archiveContext, 
-                                               fetchContext, maxTempLength, 
recursionLevel+1);
+                                               fetchContext, maxTempLength, 
recursionLevel+1, parent);
                        }
                        if(dataBlocksPtr != splitfileDataBlocks.length)
                                throw new 
FetchException(FetchException.INVALID_METADATA, "Unable to allocate all data 
blocks to segments - buggy or malicious inserter");

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-06-25 01:48:14 UTC (rev 20669)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-06-25 01:50:58 UTC (rev 20670)
@@ -51,6 +51,7 @@
        final Vector subSegments;
        final int minFetched;
        final SplitFileFetcher parentFetcher;
+       final ClientRequester parent;
        final ArchiveContext archiveContext;
        final FetchContext fetchContext;
        final long maxBlockLength;
@@ -74,13 +75,14 @@

        private FECCodec codec;

-       public SplitFileFetcherSegment(short splitfileType, ClientCHK[] 
splitfileDataKeys, ClientCHK[] splitfileCheckKeys, SplitFileFetcher fetcher, 
ArchiveContext archiveContext, FetchContext fetchContext, long maxTempLength, 
int recursionLevel) throws MetadataParseException, FetchException {
+       public SplitFileFetcherSegment(short splitfileType, ClientCHK[] 
splitfileDataKeys, ClientCHK[] splitfileCheckKeys, SplitFileFetcher fetcher, 
ArchiveContext archiveContext, FetchContext fetchContext, long maxTempLength, 
int recursionLevel, ClientRequester requester) throws MetadataParseException, 
FetchException {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.persistent = fetcher.persistent;
                this.parentFetcher = fetcher;
                this.errors = new FailureCodeTracker(false);
                this.archiveContext = archiveContext;
                this.splitfileType = splitfileType;
+               this.parent = requester;
                dataKeys = splitfileDataKeys;
                checkKeys = splitfileCheckKeys;
                if(splitfileType == Metadata.SPLITFILE_NONREDUNDANT) {


Reply via email to