diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocket08FrameEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocket08FrameEncoder.java index 19ee9d0787..bdad55b928 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocket08FrameEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocket08FrameEncoder.java @@ -186,8 +186,14 @@ public class WebSocket08FrameEncoder extends MessageToMessageEncoder= data.readableBytes()) { + // merge buffers as this is cheaper then a gathering write if the payload is small enough + buf.writeBytes(data); + out.add(buf); + } else { + out.add(buf); + out.add(data.retain()); + } } release = false; } finally {