From 5eeb03daee83aa6e99da746e4e96899940c6bb86 Mon Sep 17 00:00:00 2001 From: Bowen Cai Date: Fri, 10 Feb 2023 18:59:37 -0600 Subject: [PATCH] websocketimpl: avoid string copy unless logging trace message --- src/main/java/org/java_websocket/WebSocketImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/java_websocket/WebSocketImpl.java b/src/main/java/org/java_websocket/WebSocketImpl.java index aad172127..c2cd223b9 100644 --- a/src/main/java/org/java_websocket/WebSocketImpl.java +++ b/src/main/java/org/java_websocket/WebSocketImpl.java @@ -224,10 +224,11 @@ public WebSocketImpl(WebSocketListener listener, Draft draft) { */ public void decode(ByteBuffer socketBuffer) { assert (socketBuffer.hasRemaining()); - log.trace("process({}): ({})", socketBuffer.remaining(), - (socketBuffer.remaining() > 1000 ? "too big to display" - : new String(socketBuffer.array(), socketBuffer.position(), socketBuffer.remaining()))); - + if (log.isTraceEnabled()) { + log.trace("process({}): ({})", socketBuffer.remaining(), + (socketBuffer.remaining() > 1000 ? "too big to display" + : new String(socketBuffer.array(), socketBuffer.position(), socketBuffer.remaining()))); + } if (readyState != ReadyState.NOT_YET_CONNECTED) { if (readyState == ReadyState.OPEN) { decodeFrames(socketBuffer);