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