From dc8a822b0e21ee22160652a95475da8548e0ea85 Mon Sep 17 00:00:00 2001 From: zzz Date: Sun, 25 Nov 2018 15:16:18 +0000 Subject: [PATCH] GeoIP: Reduce object churn, add test to command line tools --- router/java/src/com/maxmind/db/Decoder.java | 7 ++++--- router/java/src/net/i2p/router/CommandLine.java | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/router/java/src/com/maxmind/db/Decoder.java b/router/java/src/com/maxmind/db/Decoder.java index 0ca4774ff..a8aafba96 100644 --- a/router/java/src/com/maxmind/db/Decoder.java +++ b/router/java/src/com/maxmind/db/Decoder.java @@ -7,7 +7,6 @@ import java.nio.charset.CharacterCodingException; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -255,6 +254,7 @@ final class Decoder { } } + /** @return modifiable, don't modify it */ private List decodeArray(int size) throws IOException { List array = new ArrayList(size); @@ -263,9 +263,10 @@ final class Decoder { array.add(r); } - return Collections.unmodifiableList(array); + return array; } + /** @return modifiable, don't modify it */ private Map decodeMap(int size) throws IOException { int capacity = (int) (size / 0.75F + 1.0F); Map map = new HashMap(capacity); @@ -276,7 +277,7 @@ final class Decoder { map.put(key, value); } - return Collections.unmodifiableMap(map); + return map; } private byte[] getByteArray(int length) { diff --git a/router/java/src/net/i2p/router/CommandLine.java b/router/java/src/net/i2p/router/CommandLine.java index ba415832c..3641f1808 100644 --- a/router/java/src/net/i2p/router/CommandLine.java +++ b/router/java/src/net/i2p/router/CommandLine.java @@ -14,6 +14,7 @@ import java.util.List; public class CommandLine extends net.i2p.util.CommandLine { protected static final List RCLASSES = Arrays.asList(new String[] { + "com.maxmind.geoip2.DatabaseReader", "net.i2p.data.router.RouterInfo", "net.i2p.data.router.RouterKeyGenerator", "net.i2p.router.MultiRouter",