Author: toad
Date: 2008-12-17 23:18:15 +0000 (Wed, 17 Dec 2008)
New Revision: 24491
Modified:
branches/db4o/freenet/src/freenet/client/FetchContext.java
branches/db4o/freenet/src/freenet/client/async/BlockSet.java
branches/db4o/freenet/src/freenet/client/async/SimpleBlockSet.java
branches/db4o/freenet/src/freenet/crypt/DSAGroup.java
branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java
branches/db4o/freenet/src/freenet/keys/CHKBlock.java
branches/db4o/freenet/src/freenet/keys/ClientKey.java
branches/db4o/freenet/src/freenet/keys/Key.java
branches/db4o/freenet/src/freenet/keys/KeyBlock.java
branches/db4o/freenet/src/freenet/keys/NodeSSK.java
branches/db4o/freenet/src/freenet/keys/SSKBlock.java
Log:
Removing BlockSet's, keys, keyblocks
Modified: branches/db4o/freenet/src/freenet/client/FetchContext.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/FetchContext.java 2008-12-17
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/client/FetchContext.java 2008-12-17
23:18:15 UTC (rev 24491)
@@ -182,6 +182,7 @@
public void removeFrom(ObjectContainer container) {
if(hasOwnEventProducer) eventProducer.removeFrom(container);
+ if(hasOwnBlocks) blocks.removeFrom(container);
container.delete(this);
}
Modified: branches/db4o/freenet/src/freenet/client/async/BlockSet.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BlockSet.java
2008-12-17 23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/client/async/BlockSet.java
2008-12-17 23:18:15 UTC (rev 24491)
@@ -5,6 +5,8 @@
import java.util.Set;
+import com.db4o.ObjectContainer;
+
import freenet.keys.ClientKey;
import freenet.keys.ClientKeyBlock;
import freenet.keys.Key;
@@ -38,5 +40,7 @@
/** Get a high level block, given a high level key */
public ClientKeyBlock get(ClientKey key);
+
+ public void removeFrom(ObjectContainer container);
}
Modified: branches/db4o/freenet/src/freenet/client/async/SimpleBlockSet.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleBlockSet.java
2008-12-17 23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleBlockSet.java
2008-12-17 23:18:15 UTC (rev 24491)
@@ -3,6 +3,8 @@
import java.util.HashMap;
import java.util.Set;
+import com.db4o.ObjectContainer;
+
import freenet.keys.ClientKey;
import freenet.keys.ClientKeyBlock;
import freenet.keys.Key;
@@ -42,4 +44,17 @@
}
}
+ public void removeFrom(ObjectContainer container) {
+ Key[] keys;
+ KeyBlock[] blocks;
+ synchronized(this) {
+ keys = (Key[]) blocksByKey.keySet().toArray(new
Key[blocksByKey.size()]);
+ blocks = (KeyBlock[]) blocksByKey.values().toArray(new
KeyBlock[blocksByKey.size()]);
+ }
+ for(Key key : keys)
+ key.removeFrom(container);
+ for(KeyBlock block : blocks)
+ block.removeFrom(container);
+ }
+
}
Modified: branches/db4o/freenet/src/freenet/crypt/DSAGroup.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DSAGroup.java 2008-12-17
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/crypt/DSAGroup.java 2008-12-17
23:18:15 UTC (rev 24491)
@@ -7,6 +7,8 @@
import java.io.InputStream;
import java.math.BigInteger;
+import com.db4o.ObjectContainer;
+
import net.i2p.util.NativeBigInteger;
import freenet.node.FSParseException;
import freenet.support.Base64;
@@ -161,4 +163,11 @@
if(this == Global.DSAgroupBigA) return this;
return new DSAGroup(this);
}
+
+ public void removeFrom(ObjectContainer container) {
+ container.delete(p);
+ container.delete(q);
+ container.delete(g);
+ container.delete(this);
+ }
}
Modified: branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java 2008-12-17
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java 2008-12-17
23:18:15 UTC (rev 24491)
@@ -6,6 +6,8 @@
import java.io.InputStream;
import java.math.BigInteger;
+import com.db4o.ObjectContainer;
+
import net.i2p.util.NativeBigInteger;
import freenet.store.StorableBlock;
import freenet.support.Base64;
@@ -216,4 +218,10 @@
public DSAPublicKey cloneKey() {
return new DSAPublicKey(this);
}
+
+ public void removeFrom(ObjectContainer container) {
+ container.delete(y);
+ group.removeFrom(container);
+ container.delete(this);
+ }
}
Modified: branches/db4o/freenet/src/freenet/keys/CHKBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/CHKBlock.java 2008-12-17
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/CHKBlock.java 2008-12-17
23:18:15 UTC (rev 24491)
@@ -5,6 +5,8 @@
import java.security.MessageDigest;
+import com.db4o.ObjectContainer;
+
import freenet.crypt.SHA256;
/**
@@ -113,4 +115,9 @@
public byte[] getRoutingKey() {
return getKey().getRoutingKey();
}
+
+ public void removeFrom(ObjectContainer container) {
+ container.delete(this);
+ // FIXME who is responsible for deleting chk ??
+ }
}
Modified: branches/db4o/freenet/src/freenet/keys/ClientKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/ClientKey.java 2008-12-17
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/ClientKey.java 2008-12-17
23:18:15 UTC (rev 24491)
@@ -1,5 +1,9 @@
package freenet.keys;
+import com.db4o.ObjectContainer;
+
+import freenet.client.async.ClientContext;
+
/**
* Base class for client keys.
* Client keys are decodable. Node keys are not.
Modified: branches/db4o/freenet/src/freenet/keys/Key.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/Key.java 2008-12-17 23:05:50 UTC
(rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/Key.java 2008-12-17 23:18:15 UTC
(rev 24491)
@@ -9,6 +9,9 @@
import java.security.MessageDigest;
import java.util.Arrays;
+import com.db4o.ObjectContainer;
+
+import freenet.client.async.ClientContext;
import freenet.crypt.CryptFormatException;
import freenet.crypt.DSAPublicKey;
import freenet.crypt.SHA256;
@@ -264,4 +267,8 @@
/** Get the full key, including any crypto type bytes, everything
needed to construct a Key object */
public abstract byte[] getFullKey();
+
+ public void removeFrom(ObjectContainer container) {
+ container.delete(this);
+ }
}
Modified: branches/db4o/freenet/src/freenet/keys/KeyBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/KeyBlock.java 2008-12-17
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/KeyBlock.java 2008-12-17
23:18:15 UTC (rev 24491)
@@ -3,6 +3,9 @@
* http://www.gnu.org/ for further details of the GPL. */
package freenet.keys;
+import com.db4o.ObjectContainer;
+
+import freenet.client.async.ClientContext;
import freenet.store.StorableBlock;
/**
@@ -16,5 +19,6 @@
public byte[] getRawHeaders();
public byte[] getRawData();
public byte[] getPubkeyBytes();
+ public void removeFrom(ObjectContainer container);
}
Modified: branches/db4o/freenet/src/freenet/keys/NodeSSK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/NodeSSK.java 2008-12-17 23:05:50 UTC
(rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/NodeSSK.java 2008-12-17 23:18:15 UTC
(rev 24491)
@@ -10,6 +10,8 @@
import java.security.MessageDigest;
import java.util.Arrays;
+import com.db4o.ObjectContainer;
+
import freenet.crypt.DSAPublicKey;
import freenet.crypt.SHA256;
import freenet.node.GetPubkey;
@@ -236,4 +238,10 @@
return Fields.compareBytes(pubKeyHash, key.pubKeyHash);
}
+ @Override
+ public void removeFrom(ObjectContainer container) {
+ if(pubKey != null) pubKey.removeFrom(container);
+ super.removeFrom(container);
+ }
+
}
Modified: branches/db4o/freenet/src/freenet/keys/SSKBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/SSKBlock.java 2008-12-17
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/SSKBlock.java 2008-12-17
23:18:15 UTC (rev 24491)
@@ -6,6 +6,8 @@
import java.security.MessageDigest;
import java.util.Arrays;
+import com.db4o.ObjectContainer;
+
import net.i2p.util.NativeBigInteger;
import freenet.crypt.DSA;
import freenet.crypt.DSAPublicKey;
@@ -177,4 +179,11 @@
return getKey().getRoutingKey();
}
+ public void removeFrom(ObjectContainer container) {
+ if(pubKey != null)
+ pubKey.removeFrom(container);
+ container.delete(this);
+ // FIXME what to do about nodeKey???
+ }
+
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs