Author: toad
Date: 2008-12-19 19:29:41 +0000 (Fri, 19 Dec 2008)
New Revision: 24633

Modified:
   branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
   branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
   branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
   branches/db4o/freenet/src/freenet/keys/ClientKey.java
   branches/db4o/freenet/src/freenet/keys/ClientSSK.java
   branches/db4o/freenet/src/freenet/node/SendableGet.java
Log:
Some more (partial) deletion support


Modified: 
branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2008-12-19 19:15:41 UTC (rev 24632)
+++ branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2008-12-19 19:29:41 UTC (rev 24633)
@@ -331,5 +331,11 @@
                }
                return ret;
        }
+
+       public void removeFrom(ObjectContainer container, ClientContext 
context) {
+               super.removeFrom(container, context);
+               // ctx is passed in, not our responsibility
+               key.removeFrom(container);
+       }
        
 }

Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java 
2008-12-19 19:15:41 UTC (rev 24632)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java 
2008-12-19 19:29:41 UTC (rev 24633)
@@ -178,8 +178,8 @@
        }
 
        public void removeFrom(ObjectContainer container, ClientContext 
context) {
-               // TODO Auto-generated method stub
-               
+               super.removeFrom(container, context);
+               // rcb is definitely not our responsibility.
        }
 
 }

Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java       
2008-12-19 19:15:41 UTC (rev 24632)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java       
2008-12-19 19:29:41 UTC (rev 24633)
@@ -1071,4 +1071,17 @@
                Logger.minor(this, "ACTIVATING: "+this, new Exception("debug"));
        }
        
+       public void removeFrom(ObjectContainer container, ClientContext 
context) {
+               super.removeFrom(container, context);
+               uri.removeFrom(container);
+               if(thisKey != null)
+                       thisKey.removeFrom(container);
+               // FIXME what to do about metaStrings ??
+               // FIXME what to do about clientMetadata ??
+               // actx is global to the ClientRequest
+               // ah can be shared by two fetchers ... we can probably arrange 
for the parent to delete it?
+               decompressors.clear();
+               container.delete(decompressors);
+               container.delete(this);
+       }
 }

Modified: branches/db4o/freenet/src/freenet/keys/ClientKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/ClientKey.java       2008-12-19 
19:15:41 UTC (rev 24632)
+++ branches/db4o/freenet/src/freenet/keys/ClientKey.java       2008-12-19 
19:29:41 UTC (rev 24633)
@@ -2,8 +2,6 @@
 
 import com.db4o.ObjectContainer;
 
-import freenet.client.async.ClientContext;
-
 /**
  * Base class for client keys.
  * Client keys are decodable. Node keys are not.
@@ -18,4 +16,6 @@
 
        public abstract ClientKey cloneKey();
 
+       public abstract void removeFrom(ObjectContainer container);
+
 }

Modified: branches/db4o/freenet/src/freenet/keys/ClientSSK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/ClientSSK.java       2008-12-19 
19:15:41 UTC (rev 24632)
+++ branches/db4o/freenet/src/freenet/keys/ClientSSK.java       2008-12-19 
19:29:41 UTC (rev 24633)
@@ -8,6 +8,8 @@
 import java.security.MessageDigest;
 import java.util.Arrays;
 
+import com.db4o.ObjectContainer;
+
 import freenet.crypt.DSAPublicKey;
 import freenet.crypt.SHA256;
 import freenet.crypt.UnsupportedCipherException;
@@ -160,4 +162,9 @@
        public ClientKey cloneKey() {
                return new ClientSSK(this);
        }
+
+       @Override
+       public void removeFrom(ObjectContainer container) {
+               container.delete(this);
+       }
 }

Modified: branches/db4o/freenet/src/freenet/node/SendableGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SendableGet.java     2008-12-19 
19:15:41 UTC (rev 24632)
+++ branches/db4o/freenet/src/freenet/node/SendableGet.java     2008-12-19 
19:29:41 UTC (rev 24633)
@@ -106,5 +106,9 @@
        public final boolean isInsert() {
                return false;
        }
+
+       public void removeFrom(ObjectContainer container, ClientContext 
context) {
+               container.delete(this);
+       }
        
 }

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to