From 3692077007fcc958aca9963f41663c7a22a27e94 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 6 Nov 2018 09:21:26 +0100 Subject: [PATCH] Do not allocate a short-lived ByteBuf ByteBuf.writeCharSequence() allows us to bypass manual buffer management, use that. Change-Id: I85dc57a8411a057843ec45b5b70fea8907ae9bed Signed-off-by: Robert Varga --- .../streams/websockets/WebSocketServerHandler.java | 6 +----- .../streams/websockets/WebSocketServerHandler.java | 13 +++---------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/streams/websockets/WebSocketServerHandler.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/streams/websockets/WebSocketServerHandler.java index 666ad758a5..ed90e3f236 100755 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/streams/websockets/WebSocketServerHandler.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/streams/websockets/WebSocketServerHandler.java @@ -17,8 +17,6 @@ import static io.netty.handler.codec.http.HttpUtil.isKeepAlive; import static io.netty.handler.codec.http.HttpUtil.setContentLength; import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; @@ -126,9 +124,7 @@ public class WebSocketServerHandler extends SimpleChannelInboundHandler // Generate an error page if response getStatus code is not OK (200). final boolean notOkay = !OK.equals(res.status()); if (notOkay) { - final ByteBuf buf = Unpooled.copiedBuffer(res.status().toString(), CharsetUtil.UTF_8); - res.content().writeBytes(buf); - buf.release(); + res.content().writeCharSequence(res.status().toString(), CharsetUtil.UTF_8); setContentLength(res, res.content().readableBytes()); } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/websockets/WebSocketServerHandler.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/websockets/WebSocketServerHandler.java index 7438ced14b..903b0dbf56 100755 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/websockets/WebSocketServerHandler.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/websockets/WebSocketServerHandler.java @@ -18,8 +18,6 @@ import static io.netty.handler.codec.http.HttpUtil.isKeepAlive; import static io.netty.handler.codec.http.HttpUtil.setContentLength; import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; @@ -48,7 +46,6 @@ import org.slf4j.LoggerFactory; * {@link FullHttpRequest} and {@link WebSocketFrame} messages. */ public class WebSocketServerHandler extends SimpleChannelInboundHandler { - private static final Logger LOG = LoggerFactory.getLogger(WebSocketServerHandler.class); private WebSocketServerHandshaker handshaker; @@ -129,9 +126,7 @@ public class WebSocketServerHandler extends SimpleChannelInboundHandler // Generate an error page if response getStatus code is not OK (200). final boolean notOkay = !OK.equals(res.status()); if (notOkay) { - final ByteBuf buf = Unpooled.copiedBuffer(res.status().toString(), CharsetUtil.UTF_8); - res.content().writeBytes(buf); - buf.release(); + res.content().writeCharSequence(res.status().toString(), CharsetUtil.UTF_8); setContentLength(res, res.content().readableBytes()); } @@ -145,10 +140,8 @@ public class WebSocketServerHandler extends SimpleChannelInboundHandler /** * Handles web socket frame. * - * @param ctx - * {@link ChannelHandlerContext} - * @param frame - * {@link WebSocketFrame} + * @param ctx {@link ChannelHandlerContext} + * @param frame {@link WebSocketFrame} */ private void handleWebSocketFrame(final ChannelHandlerContext ctx, final WebSocketFrame frame) { if (frame instanceof CloseWebSocketFrame) { -- 2.36.6