From bb8ca600da34f010e1b416f9bfcf009590b4dcc8 Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Fri, 20 Dec 2013 06:42:50 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[PINPOINT-244]t?= =?UTF-8?q?cp=20l4=20=EC=97=B0=EA=B2=B0=ED=99=95=EC=9D=B8=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=EC=9D=84=20=EB=AC=B4=EC=8B=9C=20=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=EC=97=90,=20=EC=97=AC=EB=9F=AC=20ip=EB=A5=BC?= =?UTF-8?q?=20=EC=84=A4=EC=A0=95=EA=B0=80=EB=8A=A5=ED=95=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.bds.nhncorp.com/pe/pinpoint-rpc/trunk@3038 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../rpc/server/PinpointServerSocket.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/nhn/pinpoint/rpc/server/PinpointServerSocket.java b/src/main/java/com/nhn/pinpoint/rpc/server/PinpointServerSocket.java index 667927878..a9f6d5c59 100644 --- a/src/main/java/com/nhn/pinpoint/rpc/server/PinpointServerSocket.java +++ b/src/main/java/com/nhn/pinpoint/rpc/server/PinpointServerSocket.java @@ -48,7 +48,7 @@ public class PinpointServerSocket extends SimpleChannelHandler { private ServerMessageListener messageListener = SimpleLoggingServerMessageListener.LISTENER; private WriteFailFutureListener traceSendAckWriteFailFutureListener = new WriteFailFutureListener(logger, "TraceSendAckPacket send fail.", "TraceSendAckPacket send() success."); - private InetAddress ignoreAddress; + private InetAddress[] ignoreAddressList; public PinpointServerSocket() { ServerBootstrap bootstrap = createBootStrap(1, WORKER_COUNT); @@ -58,8 +58,11 @@ public class PinpointServerSocket extends SimpleChannelHandler { this.pingTimer = TimerFactory.createHashedWheelTimer("PinpointServerSocket-PingTimer", 50, TimeUnit.MILLISECONDS, 512); } - public void setIgnoreAddress(InetAddress ignoreAddress) { - this.ignoreAddress = ignoreAddress; + public void setIgnoreAddressList(InetAddress[] ignoreAddressList) { + if (ignoreAddressList == null) { + throw new NullPointerException("ignoreAddressList must not be null"); + } + this.ignoreAddressList = ignoreAddressList; } private void addPipeline(ServerBootstrap bootstrap) { @@ -186,6 +189,7 @@ public class PinpointServerSocket extends SimpleChannelHandler { } else if (packet instanceof StreamClosePacket) { logger.debug("StreamDestroy {}, streamId:{}", channel, packet.getChannelId()); ServerStreamChannel streamChannel = context.getStreamChannel(packet.getChannelId()); + // null이 나올수 있음. boolean close = streamChannel.close(); if (close) { messageListener.handleStream(packet, streamChannel); @@ -253,14 +257,14 @@ public class PinpointServerSocket extends SimpleChannelHandler { if (check) { logger.warn("Unexpected Client channelClosed {}", channel); } else { - logger.debug("Unexpected checkAddress channelClosed {}", channel); + logger.debug("checkAddress, Client channelClosed channelClosed {}", channel); } } channelContext.closeAllStreamChannel(); } private boolean checkIgnoreAddress(Channel channel) { - if (ignoreAddress == null) { + if (ignoreAddressList == null) { return true; } final InetSocketAddress remoteAddress = (InetSocketAddress) channel.getRemoteAddress(); @@ -268,8 +272,10 @@ public class PinpointServerSocket extends SimpleChannelHandler { return true; } InetAddress address = remoteAddress.getAddress(); - if (ignoreAddress.equals(address)) { - return false; + for (InetAddress ignore : ignoreAddressList) { + if (ignore.equals(address)) { + return false; + } } return true; }