From 5000fdd2647fc6d87d4ea9f14b96b575012c51c6 Mon Sep 17 00:00:00 2001 From: nathan Date: Wed, 16 Jan 2019 22:41:02 +0100 Subject: [PATCH] Optimize IPv4 -> String call in registration stack --- build.gradle.kts | 2 +- .../network/connection/RegistrationWrapper.java | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d499e4d4..9123d6a6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -332,7 +332,7 @@ task("compileUtils") { "dorkbox.util.MathUtil", "dorkbox.util.MersenneTwisterFast", "dorkbox.util.NativeLoader", - "dorkbox.util.NativeLoader", + "dorkbox.util.NetworkUtil", "dorkbox.util.generics.TypeResolver", // "dorkbox.util.generics.DefaultMethodHelper", // this class must be compiled java 8+ diff --git a/src/dorkbox/network/connection/RegistrationWrapper.java b/src/dorkbox/network/connection/RegistrationWrapper.java index d8a28883..7b409626 100644 --- a/src/dorkbox/network/connection/RegistrationWrapper.java +++ b/src/dorkbox/network/connection/RegistrationWrapper.java @@ -17,7 +17,6 @@ package dorkbox.network.connection; import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.UnknownHostException; import java.security.SecureRandom; import java.util.LinkedList; import java.util.List; @@ -34,6 +33,7 @@ import dorkbox.network.pipeline.udp.KryoDecoderUdpCrypto; import dorkbox.network.pipeline.udp.KryoEncoderUdp; import dorkbox.network.pipeline.udp.KryoEncoderUdpCrypto; import dorkbox.network.serialization.CryptoSerializationManager; +import dorkbox.util.NetworkUtil; import dorkbox.util.RandomUtil; import dorkbox.util.collections.IntMap.Values; import dorkbox.util.collections.LockFreeIntMap; @@ -165,13 +165,7 @@ class RegistrationWrapper { else { // COMPARE! if (!CryptoECC.compare(publicKey, savedPublicKey)) { - String byAddress; - try { - byAddress = InetAddress.getByAddress(hostAddress) - .getHostAddress(); - } catch (UnknownHostException e) { - byAddress = "Unknown Address"; - } + String byAddress = NetworkUtil.ipv4ToString(hostAddress); if (this.endPoint.disableRemoteKeyValidation) { logger2.warn("Invalid or non-matching public key from remote connection, their public key has changed. Toggling extra flag in channel to indicate key change. To fix, remove entry for: {}", byAddress);