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


Reply via email to