From 48e015f0493092dee2b7a56595a29c3a48139cda Mon Sep 17 00:00:00 2001 From: Ameya Karve Date: Wed, 23 Dec 2015 03:36:43 -0800 Subject: [PATCH 1/2] Using a faster version of getBytes. This works only Java 7 onwards. I had noticed that the payload shortening was very slow. This cuts down the time for this op by half. Please refer https://blog.codecentric.de/en/2014/04/faster-cleaner-code-since-java-7/ --- src/main/java/com/notnoop/apns/internal/Utilities.java | 7 ++----- .../com/notnoop/apns/internal/TlsTunnelBuilderTest.java | 3 ++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/notnoop/apns/internal/Utilities.java b/src/main/java/com/notnoop/apns/internal/Utilities.java index 1849098b..5350ffe9 100644 --- a/src/main/java/com/notnoop/apns/internal/Utilities.java +++ b/src/main/java/com/notnoop/apns/internal/Utilities.java @@ -38,6 +38,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; import java.net.Socket; import java.security.GeneralSecurityException; import java.security.KeyStore; @@ -110,11 +111,7 @@ public static String encodeHex(final byte[] bytes) { } public static byte[] toUTF8Bytes(final String s) { - try { - return s.getBytes("UTF-8"); - } catch (final UnsupportedEncodingException e) { - throw new RuntimeException(e); - } + return s.getBytes(StandardCharsets.UTF_8); } public static byte[] marshall(final byte command, final byte[] deviceToken, final byte[] payload) { diff --git a/src/test/java/com/notnoop/apns/internal/TlsTunnelBuilderTest.java b/src/test/java/com/notnoop/apns/internal/TlsTunnelBuilderTest.java index 833bed55..3d8060bb 100644 --- a/src/test/java/com/notnoop/apns/internal/TlsTunnelBuilderTest.java +++ b/src/test/java/com/notnoop/apns/internal/TlsTunnelBuilderTest.java @@ -33,6 +33,7 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; //import java.net.InetSocketAddress; //import java.net.Proxy; //import java.net.Socket; @@ -72,6 +73,6 @@ public void invalidProxyParams() throws IOException { } private InputStream inputStream(String content) throws IOException { - return new ByteArrayInputStream(content.getBytes("UTF-8")); + return new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); } } From f0f2e13a15206c5d7713250b8a73a17967a9f8d7 Mon Sep 17 00:00:00 2001 From: Ameya Karve Date: Fri, 16 Sep 2016 05:20:52 -0700 Subject: [PATCH 2/2] edited inline! Lawl --- README.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.markdown b/README.markdown index c78c07f4..cb1e2e83 100644 --- a/README.markdown +++ b/README.markdown @@ -13,7 +13,7 @@ However 1.0.0 Beta fixes a *lot* of problems over 0.2.x, so even as it is called I'd recommend to use the beta instead of the 0.2.3 even for production. froh42 will return to develop for java-apns in October, so I expect the 1.0.0 final -to be released start of November. +to be released start of November. Edited! Introduction