Author: toad
Date: 2008-06-21 14:53:48 +0000 (Sat, 21 Jun 2008)
New Revision: 20575
Modified:
branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java
branches/db4o/freenet/src/freenet/support/io/BucketTools.java
Log:
A couple of fixes to the direct-to-chain code.
Modified: branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java
2008-06-21 14:43:57 UTC (rev 20574)
+++ branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java
2008-06-21 14:53:48 UTC (rev 20575)
@@ -200,7 +200,7 @@
}
if(bucketLength == bucketSize) {
curBucketStream.close();
- curBucketStream =
makeBucketOutputStream(bucketNo++);
+ curBucketStream =
makeBucketOutputStream(++bucketNo);
bucketLength = 0;
}
curBucketStream.write(c);
@@ -230,7 +230,7 @@
if(length <= 0) return;
if(bucketLength == bucketSize) {
curBucketStream.close();
- curBucketStream =
makeBucketOutputStream(bucketNo++);
+ curBucketStream =
makeBucketOutputStream(++bucketNo);
bucketLength = 0;
}
if(bucketLength + length > bucketSize) {
Modified: branches/db4o/freenet/src/freenet/support/io/BucketTools.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/BucketTools.java
2008-06-21 14:43:57 UTC (rev 20574)
+++ branches/db4o/freenet/src/freenet/support/io/BucketTools.java
2008-06-21 14:53:48 UTC (rev 20575)
@@ -348,9 +348,10 @@
if(origData instanceof BucketChainBucket) {
BucketChainBucket data = (BucketChainBucket)origData;
if(data.bucketSize == splitSize) {
+ Bucket[] buckets = data.getBuckets();
if(freeData)
data.clear();
- return data.getBuckets();
+ return buckets;
} else {
Logger.error(BucketTools.class, "Incompatible
split size splitting a BucketChainBucket: his split size is "+data.bucketSize+"
but mine is "+splitSize+" - we will copy the data, but this suggests a bug",
new Exception("debug"));
}