From 4bb5581e40aa0fad12e5a992616b83daf020c92a Mon Sep 17 00:00:00 2001 From: jchrys Date: Sat, 28 Jun 2025 20:09:21 +0900 Subject: [PATCH] refactor(codec): remove intermediate byte array in ByteArrayInputStreamCodec Signed-off-by: jchrys --- .../r2dbc/mysql/codec/ByteArrayInputStreamCodec.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/r2dbc-mysql/src/main/java/io/asyncer/r2dbc/mysql/codec/ByteArrayInputStreamCodec.java b/r2dbc-mysql/src/main/java/io/asyncer/r2dbc/mysql/codec/ByteArrayInputStreamCodec.java index 3af23a3bc..c31261f5a 100644 --- a/r2dbc-mysql/src/main/java/io/asyncer/r2dbc/mysql/codec/ByteArrayInputStreamCodec.java +++ b/r2dbc-mysql/src/main/java/io/asyncer/r2dbc/mysql/codec/ByteArrayInputStreamCodec.java @@ -86,16 +86,13 @@ public Mono publishBinary(ByteBufAllocator allocator) { try { VarIntUtils.writeVarInt(buf, size); - - byte[] byteArray = new byte[size]; - int readBytes = value.read(byteArray); - + int readBytes = buf.writeBytes(value, size); if (readBytes != size) { buf.release(); throw new IllegalStateException("Expected to read " + size + " bytes, but got " + readBytes); } - return buf.writeBytes(byteArray); + return buf; } catch (Exception e) { buf.release(); throw new RuntimeException(e);