From 42b5a0d0edda1ceef72889d8ca39e14c999bde01 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Sun, 18 Sep 2011 19:54:03 +0000 Subject: [PATCH] Implement a couple of (weak) hashCode methods to go with equals(). Resolves issue 82. --- src/com/google/bitcoin/core/PeerAddress.java | 5 +++++ src/com/google/bitcoin/core/VersionMessage.java | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/com/google/bitcoin/core/PeerAddress.java b/src/com/google/bitcoin/core/PeerAddress.java index cb71c425..77c79906 100644 --- a/src/com/google/bitcoin/core/PeerAddress.java +++ b/src/com/google/bitcoin/core/PeerAddress.java @@ -125,4 +125,9 @@ public class PeerAddress extends Message { other.services.equals(services) && other.time == time; } + + @Override + public int hashCode() { + return addr.hashCode() ^ port ^ (int)time ^ services.hashCode(); + } } diff --git a/src/com/google/bitcoin/core/VersionMessage.java b/src/com/google/bitcoin/core/VersionMessage.java index 09ee18e3..ede9b389 100644 --- a/src/com/google/bitcoin/core/VersionMessage.java +++ b/src/com/google/bitcoin/core/VersionMessage.java @@ -137,4 +137,10 @@ public class VersionMessage extends Message { other.myAddr.equals(myAddr) && other.theirAddr.equals(theirAddr); } + + @Override + public int hashCode() { + return (int)bestHeight ^ clientVersion ^ (int)localServices ^ (int)time ^ subVer.hashCode() ^ myAddr.hashCode() + ^ theirAddr.hashCode(); + } }