[freenet-cvs] r20922 - in branches/db4o/freenet/src/freenet: client client/async node/fcp node/updater

toad at freenetproject.org toad at freenetproject.org
Tue Jul 1 18:01:48 UTC 2008


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() {




More information about the cvs mailing list