Author: toad
Date: 2008-10-17 22:09:23 +0000 (Fri, 17 Oct 2008)
New Revision: 22996
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
Log:
Call storeTo and removeFrom.
Logging.
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
2008-10-17 22:07:40 UTC (rev 22995)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
2008-10-17 22:09:23 UTC (rev 22996)
@@ -241,8 +241,10 @@
if(persistent)
container.activate(dataBuckets[blockNo], 1);
dataBuckets[blockNo].setData(data);
- if(persistent)
+ if(persistent) {
+ data.storeTo(container);
container.store(dataBuckets[blockNo]);
+ }
} else if(blockNo < checkKeys.length + dataKeys.length)
{
blockNo -= dataKeys.length;
if(checkKeys[blockNo] == null) {
@@ -258,8 +260,10 @@
if(persistent)
container.activate(checkBuckets[blockNo], 1);
checkBuckets[blockNo].setData(data);
- if(persistent)
+ if(persistent) {
+ data.storeTo(container);
container.store(checkBuckets[blockNo]);
+ }
} else
Logger.error(this, "Unrecognized block number:
"+blockNo, new Exception("error"));
if(startedDecode) {
@@ -359,6 +363,12 @@
for(int i=0;i<dataBuckets.length;i++) {
// The FECCodec won't set them.
// But they should be active.
+
if(!container.ext().isActive(dataBuckets[i]))
+ Logger.error(this, "Data block
"+i+" is inactive!");
+ if(dataBuckets[i] == null)
+ Logger.error(this, "Data block
"+i+" is null!");
+ else
+
dataBuckets[i].data.storeTo(container);
container.store(dataBuckets[i]);
}
}
@@ -460,6 +470,8 @@
queueHeal(data, context);
} else {
dataBuckets[i].data.free();
+ if(persistent)
+
dataBuckets[i].data.removeFrom(container);
dataBuckets[i].data = null;
}
dataBuckets[i] = null;
@@ -488,6 +500,8 @@
queueHeal(data, context);
} else {
data.free();
+ if(persistent)
+ data.removeFrom(container);
}
checkBuckets[i] = null;
checkKeys[i] = null;