Author: toad
Date: 2008-07-01 18:01:47 +0000 (Tue, 01 Jul 2008)
New Revision: 20922
Modified:
branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
branches/db4o/freenet/src/freenet/client/async/ClientRequester.java
branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java
branches/db4o/freenet/src/freenet/client/async/USKRetriever.java
branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java
branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java
branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java
branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java
Log:
Maybe make cancelling/removing requests work
Modified:
branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -244,7 +244,7 @@
core.getTicker().queueTimedJob(new Runnable() {
public void run() {
- get.cancel();
+ get.cancel(null, core.clientContext);
}
}, timeout);
Modified: branches/db4o/freenet/src/freenet/client/async/ClientRequester.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequester.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequester.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -33,9 +33,11 @@
hashCode = super.hashCode(); // the old object id will do fine,
as long as we ensure it doesn't change!
}
- public synchronized void cancel() {
+ synchronized void cancel() {
cancelled = true;
}
+
+ public abstract void cancel(ObjectContainer container, ClientContext
context);
public boolean isCancelled() {
return cancelled;
@@ -106,6 +108,7 @@
Logger.minor(this, "Completed block ("+dontNotify+ "):
total="+totalBlocks+" success="+successfulBlocks+" failed="+failedBlocks+"
fatally="+fatallyFailedBlocks+" finalised="+blockSetFinalized+"
required="+minSuccessBlocks+" on "+this);
synchronized(this) {
successfulBlocks++;
+ if(cancelled) return;
if(dontNotify) return;
}
if(persistent()) container.set(this);
Modified: branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -130,4 +130,8 @@
// Ignore
}
+ public void cancel(ObjectContainer container, ClientContext context) {
+ super.cancel();
+ }
+
}
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -83,6 +83,10 @@
container.set(this);
}
+ public void cancel(ObjectContainer container, ClientContext
context) {
+ super.cancel();
+ }
+
public FreenetURI getURI() {
return null;
}
@@ -634,7 +638,7 @@
}
}
- public void cancel(ObjectContainer container) {
+ public void cancel(ObjectContainer container, ClientContext context) {
super.cancel();
if(persistent())
container.set(this);
Modified: branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -66,4 +66,8 @@
public void onFinalizedMetadata(ObjectContainer container) {
// Ignore
}
+
+ public void cancel(ObjectContainer container, ClientContext context) {
+ super.cancel();
+ }
}
Modified: branches/db4o/freenet/src/freenet/client/async/USKRetriever.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKRetriever.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/client/async/USKRetriever.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -106,4 +106,8 @@
return cb.getPollingPriorityProgress();
}
+ public void cancel(ObjectContainer container, ClientContext context) {
+ super.cancel();
+ }
+
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java 2008-07-01
17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java 2008-07-01
18:01:47 UTC (rev 20922)
@@ -332,9 +332,9 @@
container.set(this); // Update
}
- public void onLostConnection(ObjectContainer container) {
+ public void onLostConnection(ObjectContainer container, ClientContext
context) {
if(persistenceType == PERSIST_CONNECTION)
- cancel(null);
+ cancel(container, context);
// Otherwise ignore
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -131,9 +131,9 @@
}
}
- public void onLostConnection(ObjectContainer container) {
+ public void onLostConnection(ObjectContainer container, ClientContext
context) {
if(persistenceType == PERSIST_CONNECTION)
- cancel(container);
+ cancel(container, context);
// otherwise ignore
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -238,9 +238,9 @@
}
}
- public void onLostConnection(ObjectContainer container) {
+ public void onLostConnection(ObjectContainer container, ClientContext
context) {
if(persistenceType == PERSIST_CONNECTION)
- cancel(container);
+ cancel(container, context);
// otherwise ignore
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -122,7 +122,7 @@
}
/** Lost connection */
- public abstract void onLostConnection(ObjectContainer container);
+ public abstract void onLostConnection(ObjectContainer container,
ClientContext context);
/** Send any pending messages for a persistent request e.g. after
reconnecting */
public abstract void sendPendingMessages(FCPConnectionOutputHandler
handler, boolean includePersistentRequest, boolean includeData, boolean
onlyData, ObjectContainer container);
@@ -207,10 +207,10 @@
}
}
- public void cancel(ObjectContainer container) {
+ public void cancel(ObjectContainer container, ClientContext context) {
ClientRequester cr = getClientRequest();
// It might have been finished on startup.
- if(cr != null) cr.cancel();
+ if(cr != null) cr.cancel(container, context);
freeData(container);
if(persistenceType == PERSIST_FOREVER)
container.set(this);
@@ -237,8 +237,8 @@
protected abstract ClientRequester getClientRequest();
/** Completed request dropped off the end without being acknowledged */
- public void dropped(ObjectContainer container) {
- cancel(container);
+ public void dropped(ObjectContainer container, ClientContext context) {
+ cancel(container, context);
freeData(container);
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java 2008-07-01
17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java 2008-07-01
18:01:47 UTC (rev 20922)
@@ -178,7 +178,7 @@
}
}
- public boolean removeByIdentifier(String identifier, boolean kill,
FCPServer server, ObjectContainer container) {
+ public boolean removeByIdentifier(String identifier, boolean kill,
FCPServer server, ObjectContainer container, ClientContext context) {
assert((persistenceType == ClientRequest.PERSIST_FOREVER) ==
(container != null));
ClientRequest req;
boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
@@ -196,7 +196,7 @@
req.requestWasRemoved(container);
if(kill) {
if(logMINOR) Logger.minor(this, "Killing request "+req);
- req.cancel(container);
+ req.cancel(container, context);
}
if(completionCallback != null)
completionCallback.onRemove(req, container);
@@ -368,7 +368,7 @@
container.delete(this);
}
- public void removeAll(ObjectContainer container) {
+ public void removeAll(ObjectContainer container, ClientContext context)
{
HashSet toKill = new HashSet();
synchronized(this) {
Iterator i = runningPersistentRequests.iterator();
@@ -396,7 +396,7 @@
Iterator i = toStart.iterator();
while(i.hasNext()) {
ClientRequest req = (ClientRequest) i.next();
- req.cancel(container);
+ req.cancel(container, context);
req.requestWasRemoved(container);
}
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -111,7 +111,7 @@
dupe = killedDupe;
}
for(int i=0;i<requests.length;i++)
- requests[i].onLostConnection(null);
+ requests[i].onLostConnection(null,
server.core.clientContext);
if(!dupe) {
server.core.clientContext.jobRunner.queue(new DBJob() {
@@ -391,7 +391,7 @@
if(failedMessage != null) {
outputHandler.queue(failedMessage);
if(cp != null)
- cp.cancel(null);
+ cp.cancel(null, server.core.clientContext);
return;
} else {
if(Logger.shouldLog(Logger.MINOR, this))
@@ -579,7 +579,7 @@
if(req != null) {
req.requestWasRemoved(null);
if(kill)
- req.cancel(null);
+ req.cancel(null, server.core.clientContext);
}
return req;
}
@@ -604,7 +604,7 @@
getRebootClient();
ClientRequest req = client.getRequest(identifier, null);
if(req != null) {
- client.removeByIdentifier(identifier, true, server,
null);
+ client.removeByIdentifier(identifier, true, server,
null, server.core.clientContext);
}
return req;
}
@@ -615,7 +615,7 @@
getForeverClient(container);
ClientRequest req = client.getRequest(identifier, container);
if(req != null) {
- client.removeByIdentifier(identifier, true, server,
container);
+ client.removeByIdentifier(identifier, true, server,
container, server.core.clientContext);
}
return req;
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java 2008-07-01
17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java 2008-07-01
18:01:47 UTC (rev 20922)
@@ -578,7 +578,7 @@
}
public boolean removeGlobalRequestBlocking(final String identifier)
throws MessageInvalidException {
- if(!globalRebootClient.removeByIdentifier(identifier, true,
this, null)) {
+ if(!globalRebootClient.removeByIdentifier(identifier, true,
this, null, core.clientContext)) {
final Object sync = new Object();
final MutableBoolean done = new MutableBoolean();
final MutableBoolean success = new MutableBoolean();
@@ -588,7 +588,7 @@
public void run(ObjectContainer container,
ClientContext context) {
boolean succeeded = false;
try {
- succeeded =
globalForeverClient.removeByIdentifier(identifier, true, FCPServer.this,
container);
+ succeeded =
globalForeverClient.removeByIdentifier(identifier, true, FCPServer.this,
container, core.clientContext);
} catch (Throwable t) {
Logger.error(this, "Caught
removing identifier "+identifier+": "+t, t);
} finally {
@@ -615,7 +615,7 @@
}
public boolean removeAllGlobalRequestsBlocking() {
- globalRebootClient.removeAll(null);
+ globalRebootClient.removeAll(null, core.clientContext);
final Object sync = new Object();
final MutableBoolean done = new MutableBoolean();
@@ -626,7 +626,7 @@
public void run(ObjectContainer container,
ClientContext context) {
boolean succeeded = false;
try {
-
globalForeverClient.removeAll(container);
+
globalForeverClient.removeAll(container, core.clientContext);
succeeded = true;
} catch (Throwable t) {
Logger.error(this, "Caught while
processing panic: "+t, t);
Modified: branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -291,7 +291,7 @@
c = cg;
cg = null;
}
- c.cancel();
+ c.cancel(null, core.clientContext);
}catch(Exception e){
Logger.minor(this, "Cannot kill NodeUpdater", e);
}
Modified: branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java
2008-07-01 17:34:54 UTC (rev 20921)
+++ branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java
2008-07-01 18:01:47 UTC (rev 20922)
@@ -115,7 +115,7 @@
}
}
if(toCancel != null)
- toCancel.cancel();
+ toCancel.cancel(null, core.clientContext);
if(cg != null) {
core.clientContext.start(cg);
if(logMINOR) Logger.minor(this, "Started
revocation fetcher");
@@ -242,7 +242,7 @@
public void kill() {
if(revocationGetter != null)
- revocationGetter.cancel();
+ revocationGetter.cancel(null, core.clientContext);
}
public long getBlobSize() {