This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git


The following commit(s) were added to refs/heads/master by this push:
     new 955036f  use Transparent Zero Copy for serialize packages 
(https://netty.io/4.0/api/io/netty/buffer/package-summary.html)
955036f is described below

commit 955036f5cc5b258eed5c2a52f91d85a698b39a92
Author: Sebastian Rühl <sru...@apache.org>
AuthorDate: Fri Mar 2 11:28:13 2018 +0100

    use Transparent Zero Copy for serialize packages
    (https://netty.io/4.0/api/io/netty/buffer/package-summary.html)
---
 .../java/org/apache/plc4x/java/ads/api/generic/types/Command.java | 2 +-
 .../java/org/apache/plc4x/java/ads/api/util/ByteReadable.java     | 2 +-
 .../org/apache/plc4x/java/ads/api/util/ByteReadableUtils.java     | 8 +++-----
 .../main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java   | 2 +-
 4 files changed, 6 insertions(+), 8 deletions(-)

diff --git 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java
 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java
index c59c473..9a5a2a7 100644
--- 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java
+++ 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java
@@ -79,7 +79,7 @@ public enum Command implements ByteReadable {
         if (this == UNKNOWN) {
             throw new IllegalStateException("Unknown enum can't be 
serialized");
         }
-        return Unpooled.buffer().writeBytes(value);
+        return Unpooled.wrappedBuffer(value);
     }
 
     @Override
diff --git 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteReadable.java
 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteReadable.java
index a1170a0..e909b6e 100644
--- 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteReadable.java
+++ 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteReadable.java
@@ -38,7 +38,7 @@ public interface ByteReadable extends LengthSupplier {
 
     @Override
     default long getCalculatedLength() {
-        return getBytes().length;
+        return getByteBuf().readableBytes();
     }
 
     default String dump() throws IOException {
diff --git 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteReadableUtils.java
 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteReadableUtils.java
index 02cbd78..fc9898b 100644
--- 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteReadableUtils.java
+++ 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteReadableUtils.java
@@ -21,6 +21,8 @@ package org.apache.plc4x.java.ads.api.util;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 
+import java.util.Arrays;
+
 public class ByteReadableUtils {
 
     private ByteReadableUtils() {
@@ -28,10 +30,6 @@ public class ByteReadableUtils {
     }
 
     public static ByteBuf buildByteBuff(ByteReadable... byteReadables) {
-        ByteBuf buffer = Unpooled.buffer();
-        for (ByteReadable byteReadable : byteReadables) {
-            buffer.writeBytes(byteReadable.getByteBuf());
-        }
-        return buffer;
+        return 
Unpooled.wrappedBuffer(Arrays.stream(byteReadables).map(ByteReadable::getByteBuf).toArray(ByteBuf[]::new));
     }
 }
diff --git 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java
 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java
index 0da050d..6149e36 100644
--- 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java
+++ 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java
@@ -61,7 +61,7 @@ public class ByteValue implements ByteReadable {
 
     @Override
     public ByteBuf getByteBuf() {
-        return Unpooled.buffer().writeBytes(value);
+        return Unpooled.wrappedBuffer(value);
     }
 
     @Override

-- 
To stop receiving notification emails like this one, please contact
sru...@apache.org.

Reply via email to