From 6a1b90f8f83c22d2c6841fbdddbc8ac4bbf50ee5 Mon Sep 17 00:00:00 2001 From: zzz Date: Tue, 5 Jun 2012 01:03:39 +0000 Subject: [PATCH] hash caching --- .../java/src/org/klomp/snark/I2PSnarkUtil.java | 4 ++-- .../i2psnark/java/src/org/klomp/snark/dht/KRPC.java | 7 ++++--- .../java/src/org/klomp/snark/dht/NodeInfo.java | 13 ++++++------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index 0d71dcd34..f44a30bf1 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java +++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java @@ -405,8 +405,8 @@ public class I2PSnarkUtil { if (sess != null) { byte[] b = Base32.decode(ip.substring(0, BASE32_HASH_LENGTH)); if (b != null) { - Hash h = new Hash(b); - //Hash h = Hash.create(b); + //Hash h = new Hash(b); + Hash h = Hash.create(b); if (_log.shouldLog(Log.INFO)) _log.info("Using existing session for lookup of " + ip); try { diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java index 2c44deb68..0ee799411 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java @@ -393,7 +393,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT { public void announce(byte[] ih, byte[] peerHash) { InfoHash iHash = new InfoHash(ih); _tracker.announce(iHash, new Hash(peerHash)); -// _tracker.announce(iHash, Hash.create(peerHash)); + // Do NOT do this, corrupts the Hash cache and the Peer ID + //_tracker.announce(iHash, Hash.create(peerHash)); } /** @@ -1185,8 +1186,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT { List rv = new ArrayList(peers.size()); for (BEValue bev : peers) { byte[] b = bev.getBytes(); - Hash h = new Hash(b); - //Hash h = Hash.create(b); + //Hash h = new Hash(b); + Hash h = Hash.create(b); rv.add(h); } if (_log.shouldLog(Log.INFO)) diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java b/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java index e4f52091b..8ff21efc4 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java @@ -101,8 +101,8 @@ class NodeInfo extends SimpleDataStructure { byte[] h = Base64.decode(parts[1]); if (h == null) throw new DataFormatException("Bad hash"); - hash = new Hash(h); - //hash = Hash.create(h); + //hash = new Hash(h); + hash = Hash.create(h); if (parts[2].length() > 0) dest = new Destination(parts[2]); try { @@ -123,11 +123,10 @@ class NodeInfo extends SimpleDataStructure { byte[] ndata = new byte[NID.HASH_LENGTH]; System.arraycopy(compactInfo, 0, ndata, 0, NID.HASH_LENGTH); this.nID = new NID(ndata); - //3 lines or... - byte[] hdata = new byte[Hash.HASH_LENGTH]; - System.arraycopy(compactInfo, NID.HASH_LENGTH, hdata, 0, Hash.HASH_LENGTH); - this.hash = new Hash(hdata); - //this.hash = Hash.create(compactInfo, NID.HASH_LENGTH); + //byte[] hdata = new byte[Hash.HASH_LENGTH]; + //System.arraycopy(compactInfo, NID.HASH_LENGTH, hdata, 0, Hash.HASH_LENGTH); + //this.hash = new Hash(hdata); + this.hash = Hash.create(compactInfo, NID.HASH_LENGTH); this.port = (int) DataHelper.fromLong(compactInfo, NID.HASH_LENGTH + Hash.HASH_LENGTH, 2); if (port <= 0 || port >= 65535) throw new IllegalArgumentException("Bad port");