Author: toad
Date: 2008-12-24 19:59:06 +0000 (Wed, 24 Dec 2008)
New Revision: 24790
Modified:
branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
Log:
removeFrom().
Don't send an AllData on succeeding if the request is persistent.
Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java 2008-12-24
19:57:44 UTC (rev 24789)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java 2008-12-24
19:59:06 UTC (rev 24790)
@@ -300,6 +300,8 @@
client.register(this, lazyResume, container);
} catch (IdentifierCollisionException e) {
returnBucket.free();
+ if(persistenceType == PERSIST_FOREVER)
+ returnBucket.removeFrom(container);
throw e;
}
if(persistenceType != PERSIST_CONNECTION && !noTags) {
@@ -364,6 +366,7 @@
if(finished) {
Logger.error(this, "Already finished
but onSuccess() for "+this+" data = "+data, new Exception("debug"));
data.free();
+ if(persistenceType == PERSIST_FOREVER)
data.removeFrom(container);
return; // Already failed - bucket
error maybe??
}
if(returnType ==
ClientGetMessage.RETURN_TYPE_DIRECT && returnBucket == null) {
@@ -423,8 +426,11 @@
if(adm != null)
trySendAllDataMessage(adm, null, container);
- if(!dontFree)
+ if(!dontFree) {
data.free();
+ if(persistenceType == PERSIST_FOREVER)
+ data.removeFrom(container);
+ }
if(persistenceType == PERSIST_FOREVER) {
returnBucket.storeTo(container);
container.store(this);
@@ -471,16 +477,11 @@
if(persistenceType != ClientRequest.PERSIST_CONNECTION) {
allDataPending = msg;
if(persistenceType == ClientRequest.PERSIST_FOREVER) {
- container.activate(client, 1);
container.store(this);
}
+ return;
}
- if(persistenceType == PERSIST_CONNECTION && handler == null)
- handler = origHandler.outputHandler;
- if(handler != null)
- handler.queue(msg);
- else
- client.queueClientRequestMessage(msg, 0, container);
+ handler.queue(msg);
}
private void trySendProgress(SimpleProgressMessage msg,
FCPConnectionOutputHandler handler, ObjectContainer container) {
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs