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) {