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.