From f960774f31c1ddc9ea4a6c99819d7a8a25494659 Mon Sep 17 00:00:00 2001 From: David Schlosnagle Date: Wed, 10 Sep 2025 17:50:12 -0400 Subject: [PATCH] Avoid websocket ByteBuffer copy for single buffer --- core/src/main/java/io/undertow/websockets/core/WebSockets.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/src/main/java/io/undertow/websockets/core/WebSockets.java b/core/src/main/java/io/undertow/websockets/core/WebSockets.java index b0f8c41f7c..83dff99bed 100644 --- a/core/src/main/java/io/undertow/websockets/core/WebSockets.java +++ b/core/src/main/java/io/undertow/websockets/core/WebSockets.java @@ -1018,6 +1018,9 @@ public static ByteBuffer mergeBuffers(ByteBuffer... payload) { if (size == 0) { return Buffers.EMPTY_BYTE_BUFFER; } + if (payload.length == 1) { + return payload[0].duplicate(); + } ByteBuffer buffer = ByteBuffer.allocate(size); for (ByteBuffer buf : payload) { buffer.put(buf);