diff --git a/codec/src/main/java/io/netty/handler/codec/CodecUtil.java b/codec/src/main/java/io/netty/handler/codec/CodecUtil.java index de26a0e266..30966c1643 100644 --- a/codec/src/main/java/io/netty/handler/codec/CodecUtil.java +++ b/codec/src/main/java/io/netty/handler/codec/CodecUtil.java @@ -98,9 +98,7 @@ final class CodecUtil { } Class[] newAllowedMsgTypes = new Class[numElem]; - for (int i = 0; i < numElem; i ++) { - newAllowedMsgTypes[i] = acceptedMsgTypes[i]; - } + System.arraycopy(acceptedMsgTypes, 0, newAllowedMsgTypes, 0, numElem); return newAllowedMsgTypes; } diff --git a/example/src/main/java/io/netty/example/http/snoop/HttpSnoopServerHandler.java b/example/src/main/java/io/netty/example/http/snoop/HttpSnoopServerHandler.java index 1adad5709d..ddea7dafc0 100644 --- a/example/src/main/java/io/netty/example/http/snoop/HttpSnoopServerHandler.java +++ b/example/src/main/java/io/netty/example/http/snoop/HttpSnoopServerHandler.java @@ -62,12 +62,14 @@ public class HttpSnoopServerHandler extends ChannelInboundMessageHandlerAdapter< buf.append("WELCOME TO THE WILD WILD WEB SERVER\r\n"); buf.append("===================================\r\n"); - buf.append("VERSION: " + request.getProtocolVersion() + "\r\n"); - buf.append("HOSTNAME: " + getHost(request, "unknown") + "\r\n"); - buf.append("REQUEST_URI: " + request.getUri() + "\r\n\r\n"); + buf.append("VERSION: ").append(request.getProtocolVersion()).append("\r\n"); + buf.append("HOSTNAME: ").append(getHost(request, "unknown")).append("\r\n"); + buf.append("REQUEST_URI: ").append(request.getUri()).append("\r\n\r\n"); for (Map.Entry h: request.getHeaders()) { - buf.append("HEADER: " + h.getKey() + " = " + h.getValue() + "\r\n"); + String key = h.getKey(); + String value = h.getValue(); + buf.append("HEADER: ").append(key).append(" = ").append(value).append("\r\n"); } buf.append("\r\n"); @@ -78,7 +80,7 @@ public class HttpSnoopServerHandler extends ChannelInboundMessageHandlerAdapter< String key = p.getKey(); List vals = p.getValue(); for (String val : vals) { - buf.append("PARAM: " + key + " = " + val + "\r\n"); + buf.append("PARAM: ").append(key).append(" = ").append(val).append("\r\n"); } } buf.append("\r\n"); @@ -89,7 +91,9 @@ public class HttpSnoopServerHandler extends ChannelInboundMessageHandlerAdapter< } else { ByteBuf content = request.getContent(); if (content.readable()) { - buf.append("CONTENT: " + content.toString(CharsetUtil.UTF_8) + "\r\n"); + buf.append("CONTENT: "); + buf.append(content.toString(CharsetUtil.UTF_8)); + buf.append("\r\n"); } writeResponse(ctx); } @@ -104,7 +108,8 @@ public class HttpSnoopServerHandler extends ChannelInboundMessageHandlerAdapter< buf.append("\r\n"); for (String name: trailer.getHeaderNames()) { for (String value: trailer.getHeaders(name)) { - buf.append("TRAILING HEADER: " + name + " = " + value + "\r\n"); + buf.append("TRAILING HEADER: "); + buf.append(name).append(" = ").append(value).append("\r\n"); } } buf.append("\r\n"); @@ -112,7 +117,8 @@ public class HttpSnoopServerHandler extends ChannelInboundMessageHandlerAdapter< writeResponse(ctx); } else { - buf.append("CHUNK: " + chunk.getContent().toString(CharsetUtil.UTF_8) + "\r\n"); + buf.append("CHUNK: "); + buf.append(chunk.getContent().toString(CharsetUtil.UTF_8)).append("\r\n"); } } } diff --git a/transport/src/main/java/io/netty/channel/local/LocalChannel.java b/transport/src/main/java/io/netty/channel/local/LocalChannel.java index 9b86ca75e1..0b02e1290f 100755 --- a/transport/src/main/java/io/netty/channel/local/LocalChannel.java +++ b/transport/src/main/java/io/netty/channel/local/LocalChannel.java @@ -34,6 +34,7 @@ import java.nio.channels.AlreadyConnectedException; import java.nio.channels.ClosedChannelException; import java.nio.channels.ConnectionPendingException; import java.nio.channels.NotYetConnectedException; +import java.util.Collections; /** * A {@link Channel} for the local transport. @@ -229,9 +230,7 @@ public class LocalChannel extends AbstractChannel { @Override public void run() { MessageBuf buf = peerPipeline.inboundMessageBuffer(); - for (Object m: msgs) { - buf.add(m); - } + Collections.addAll(buf, msgs); peerPipeline.fireInboundBufferUpdated(); } }); diff --git a/transport/src/main/java/io/netty/channel/socket/aio/AbstractAioChannel.java b/transport/src/main/java/io/netty/channel/socket/aio/AbstractAioChannel.java index ac31001d50..7b7dc8e136 100755 --- a/transport/src/main/java/io/netty/channel/socket/aio/AbstractAioChannel.java +++ b/transport/src/main/java/io/netty/channel/socket/aio/AbstractAioChannel.java @@ -68,7 +68,7 @@ abstract class AbstractAioChannel extends AbstractChannel { @Override protected Runnable doRegister() throws Exception { - if (((AioEventLoop) eventLoop()).parent() != group) { + if (eventLoop().parent() != group) { throw new ChannelException( getClass().getSimpleName() + " must be registered to the " + AioEventLoopGroup.class.getSimpleName() + " which was specified in the constructor.");