Author: toad
Date: 2008-01-05 21:17:04 +0000 (Sat, 05 Jan 2008)
New Revision: 16919

Modified:
   trunk/freenet/src/freenet/store/CHKStore.java
   trunk/freenet/src/freenet/store/PubkeyStore.java
Log:
put() can't throw collision except for SSKs

Modified: trunk/freenet/src/freenet/store/CHKStore.java
===================================================================
--- trunk/freenet/src/freenet/store/CHKStore.java       2008-01-05 21:15:14 UTC 
(rev 16918)
+++ trunk/freenet/src/freenet/store/CHKStore.java       2008-01-05 21:17:04 UTC 
(rev 16919)
@@ -6,6 +6,7 @@
 import freenet.keys.CHKVerifyException;
 import freenet.keys.KeyVerifyException;
 import freenet.keys.NodeCHK;
+import freenet.support.Logger;

 public class CHKStore extends StoreCallback {

@@ -23,9 +24,13 @@
                return (CHKBlock) store.fetch(chk.getRoutingKey(), null, 
dontPromote);
        }

-       public void put(CHKBlock b) throws IOException, KeyCollisionException {
+       public void put(CHKBlock b) throws IOException {
                NodeCHK key = (NodeCHK) b.getKey();
-               store.put(b, key.getRoutingKey(), null, b.getRawData(), 
b.getRawHeaders(), false);
+               try {
+                       store.put(b, key.getRoutingKey(), null, b.getRawData(), 
b.getRawHeaders(), false);
+               } catch (KeyCollisionException e) {
+                       Logger.error(this, "Impossible for CHKStore: "+e, e);
+               }
        }

        public int dataLength() {

Modified: trunk/freenet/src/freenet/store/PubkeyStore.java
===================================================================
--- trunk/freenet/src/freenet/store/PubkeyStore.java    2008-01-05 21:15:14 UTC 
(rev 16918)
+++ trunk/freenet/src/freenet/store/PubkeyStore.java    2008-01-05 21:17:04 UTC 
(rev 16919)
@@ -6,6 +6,7 @@
 import freenet.crypt.DSAPublicKey;
 import freenet.keys.KeyVerifyException;
 import freenet.keys.PubkeyVerifyException;
+import freenet.support.Logger;

 public class PubkeyStore extends StoreCallback {

@@ -29,8 +30,12 @@

        final private static byte[] empty = new byte[0];

-       public void put(byte[] hash, DSAPublicKey key) throws IOException, 
KeyCollisionException {
-               store.put(key, key.getRoutingKey(), null, key.asPaddedBytes(), 
empty, false);
+       public void put(byte[] hash, DSAPublicKey key) throws IOException {
+               try {
+                       store.put(key, key.getRoutingKey(), null, 
key.asPaddedBytes(), empty, false);
+               } catch (KeyCollisionException e) {
+                       Logger.error(this, "Impossible for PubkeyStore: "+e, e);
+               }
        }

        public int dataLength() {


Reply via email to