[freenet-cvs] r16919 - trunk/freenet/src/freenet/store

toad at freenetproject.org toad at freenetproject.org
Sat Jan 5 21:17:04 UTC 2008


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




More information about the cvs mailing list