Author: toad
Date: 2009-02-03 22:47:19 +0000 (Tue, 03 Feb 2009)
New Revision: 25530
Modified:
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
Log:
Report the key
Modified:
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
2009-02-03 22:45:28 UTC (rev 25529)
+++ branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
2009-02-03 22:47:19 UTC (rev 25530)
@@ -16,6 +16,7 @@
import freenet.crypt.RandomSource;
import freenet.keys.CHKEncodeException;
import freenet.keys.ClientCHKBlock;
+import freenet.keys.ClientKey;
import freenet.keys.ClientKeyBlock;
import freenet.keys.FreenetURI;
import freenet.keys.InsertableClientSSK;
@@ -33,6 +34,7 @@
import freenet.support.SimpleFieldSet;
import freenet.support.api.Bucket;
import freenet.support.io.BucketTools;
+import freenet.support.io.NativeThread;
/**
* Insert *ONE KEY*.
@@ -124,6 +126,19 @@
}
}
+ protected void onEncode(ClientKey key, ObjectContainer container,
ClientContext context) {
+ synchronized(this) {
+ if(finished) return;
+ if(resultingURI != null) return;
+ resultingURI = key.getURI();
+ }
+ if(persistent)
+ container.activate(cb, 1);
+ cb.onEncode(key, this, container, context);
+ if(persistent)
+ container.deactivate(cb, 1);
+ }
+
protected ClientKeyBlock encode(ObjectContainer container,
ClientContext context, boolean calledByCB) throws InsertException {
if(persistent) {
container.activate(sourceData, 1);
@@ -415,6 +430,16 @@
} finally {
block.copyBucket.free();
}
+ final ClientKey key = b.getClientKey();
+ context.jobRunner.queue(new DBJob() {
+
+ public void run(ObjectContainer
container, ClientContext context) {
+
container.activate(SingleBlockInserter.this, 1);
+ onEncode(key,
container, context);
+
container.deactivate(SingleBlockInserter.this, 1);
+ }
+
+ }, NativeThread.NORM_PRIORITY+1, false);
if(b != null)
core.realPut(b,
req.cacheLocalRequests);
else {
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs