Author: toad
Date: 2006-01-31 23:19:14 +0000 (Tue, 31 Jan 2006)
New Revision: 7978
Modified:
trunk/freenet/src/freenet/client/async/SplitFileInserter.java
trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
trunk/freenet/src/freenet/node/Version.java
Log:
422:
Probably fixed the missing URIs error on inserting large files.
Modified: trunk/freenet/src/freenet/client/async/SplitFileInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileInserter.java
2006-01-31 22:51:28 UTC (rev 7977)
+++ trunk/freenet/src/freenet/client/async/SplitFileInserter.java
2006-01-31 23:19:14 UTC (rev 7978)
@@ -9,7 +9,6 @@
import freenet.client.InserterContext;
import freenet.client.InserterException;
import freenet.client.Metadata;
-import freenet.client.async.SingleFileInserter.SplitHandler;
import freenet.keys.ClientCHKBlock;
import freenet.keys.FreenetURI;
import freenet.support.Bucket;
@@ -129,7 +128,7 @@
synchronized(this) {
for(int i=0;i<segments.length;i++) {
- if(!segments[i].isEncoded())
+ if(!segments[i].hasURIs())
return;
}
}
Modified: trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2006-01-31 22:51:28 UTC (rev 7977)
+++ trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2006-01-31 23:19:14 UTC (rev 7978)
@@ -28,6 +28,7 @@
private boolean encoded;
private boolean finished;
private boolean getCHKOnly;
+ private boolean hasURIs;
private InserterException toThrow;
private final FailureCodeTracker errors;
private int blocksGotURI;
@@ -118,6 +119,7 @@
public void onEncode(ClientKey key, ClientPutState state) {
SingleBlockInserter sbi = (SingleBlockInserter)state;
int x = sbi.token;
+ FreenetURI uri = key.getURI();
synchronized(this) {
if(finished) return;
if(x >= dataBlocks.length) {
@@ -125,28 +127,30 @@
Logger.normal(this, "Got uri twice for
check block "+x+" on "+this);
return;
}
- checkURIs[x-dataBlocks.length] = key.getURI();
+ checkURIs[x-dataBlocks.length] = uri;
} else {
if(dataURIs[x] != null) {
Logger.normal(this, "Got uri twice for
data block "+x+" on "+this);
return;
}
- dataURIs[x] = key.getURI();
+ dataURIs[x] = uri;
}
blocksGotURI++;
if(blocksGotURI != dataBlocks.length +
checkBlocks.length) return;
- }
- // Double check
- for(int i=0;i<checkURIs.length;i++)
- if(checkURIs[i] == null) {
- Logger.error(this, "Check URI "+i+" is null");
- return;
+ // Double check
+ for(int i=0;i<checkURIs.length;i++) {
+ if(checkURIs[i] == null) {
+ Logger.error(this, "Check URI "+i+" is
null");
+ return;
+ }
}
- for(int i=0;i<dataURIs.length;i++) {
- if(dataURIs[i] == null) {
- Logger.error(this, "Data URI "+i+" is null");
- return;
+ for(int i=0;i<dataURIs.length;i++) {
+ if(dataURIs[i] == null) {
+ Logger.error(this, "Data URI "+i+" is
null");
+ return;
+ }
}
+ hasURIs = true;
}
parent.segmentHasURIs(this);
}
@@ -244,4 +248,8 @@
// Ignore
Logger.error(this, "Should not happen:
onBlockSetFinished("+state+") on "+this);
}
+
+ public boolean hasURIs() {
+ return hasURIs;
+ }
}
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-01-31 22:51:28 UTC (rev
7977)
+++ trunk/freenet/src/freenet/node/Version.java 2006-01-31 23:19:14 UTC (rev
7978)
@@ -20,7 +20,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 421;
+ private static final int buildNumber = 422;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 403;