From c9c4ab576b677664ff691e95bebc18578d12bf4f Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Fri, 9 Feb 2024 10:21:47 +0100 Subject: [PATCH] =?UTF-8?q?Correctly=20implement=20equals=20/=20hashCode?= =?UTF-8?q?=20method=20for=20our=20SSLSession=20imple=E2=80=A6=20(#666)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …mentation Motivation: We should just take the id into account for equality and hashcode Modifications: Add implementation Result: Correctly handle hashCode and equals --- .../codec/quic/QuicheQuicSslEngine.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/codec-classes-quic/src/main/java/io/netty/incubator/codec/quic/QuicheQuicSslEngine.java b/codec-classes-quic/src/main/java/io/netty/incubator/codec/quic/QuicheQuicSslEngine.java index 5bb4eb766..6fac37836 100644 --- a/codec-classes-quic/src/main/java/io/netty/incubator/codec/quic/QuicheQuicSslEngine.java +++ b/codec-classes-quic/src/main/java/io/netty/incubator/codec/quic/QuicheQuicSslEngine.java @@ -35,6 +35,7 @@ import java.nio.ByteBuffer; import java.security.Principal; import java.security.cert.Certificate; +import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -565,5 +566,22 @@ public int getPacketBufferSize() { public int getApplicationBufferSize() { return -1; } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + QuicheQuicSslSession that = (QuicheQuicSslSession) o; + return Arrays.equals(getId(), that.getId()); + } + + @Override + public int hashCode() { + return Arrays.hashCode(getId()); + } } }