Don't create an EmbeddedSocketAddress every time

This commit is contained in:
Trustin Lee 2013-11-08 18:01:29 +09:00
parent d748113c7d
commit 812481602a

View File

@ -44,6 +44,9 @@ import java.util.Queue;
*/ */
public class EmbeddedChannel extends AbstractChannel { public class EmbeddedChannel extends AbstractChannel {
private static final SocketAddress LOCAL_ADDRESS = new EmbeddedSocketAddress();
private static final SocketAddress REMOTE_ADDRESS = new EmbeddedSocketAddress();
private static final ChannelHandler[] EMPTY_HANDLERS = new ChannelHandler[0]; private static final ChannelHandler[] EMPTY_HANDLERS = new ChannelHandler[0];
private enum State { OPEN, ACTIVE, CLOSED } private enum State { OPEN, ACTIVE, CLOSED }
@ -53,8 +56,6 @@ public class EmbeddedChannel extends AbstractChannel {
private final EmbeddedEventLoop loop = new EmbeddedEventLoop(); private final EmbeddedEventLoop loop = new EmbeddedEventLoop();
private final ChannelConfig config = new DefaultChannelConfig(this); private final ChannelConfig config = new DefaultChannelConfig(this);
private final SocketAddress localAddress = new EmbeddedSocketAddress();
private final SocketAddress remoteAddress = new EmbeddedSocketAddress();
private final Queue<Object> inboundMessages = new ArrayDeque<Object>(); private final Queue<Object> inboundMessages = new ArrayDeque<Object>();
private final Queue<Object> outboundMessages = new ArrayDeque<Object>(); private final Queue<Object> outboundMessages = new ArrayDeque<Object>();
private Throwable lastException; private Throwable lastException;
@ -283,12 +284,12 @@ public class EmbeddedChannel extends AbstractChannel {
@Override @Override
protected SocketAddress localAddress0() { protected SocketAddress localAddress0() {
return isActive()? localAddress : null; return isActive()? LOCAL_ADDRESS : null;
} }
@Override @Override
protected SocketAddress remoteAddress0() { protected SocketAddress remoteAddress0() {
return isActive()? remoteAddress : null; return isActive()? REMOTE_ADDRESS : null;
} }
@Override @Override