diff --git a/utils/src/main/java/com/cloud/utils/nio/NioServer.java b/utils/src/main/java/com/cloud/utils/nio/NioServer.java index 58ef463a192..0f83eda57b5 100644 --- a/utils/src/main/java/com/cloud/utils/nio/NioServer.java +++ b/utils/src/main/java/com/cloud/utils/nio/NioServer.java @@ -25,7 +25,6 @@ import java.nio.channels.ClosedChannelException; import java.nio.channels.SelectionKey; import java.nio.channels.ServerSocketChannel; import java.nio.channels.spi.SelectorProvider; -import java.util.Map; import java.util.WeakHashMap; import org.apache.cloudstack.framework.ca.CAService; @@ -37,13 +36,13 @@ public class NioServer extends NioConnection { protected InetSocketAddress _localAddr; private ServerSocketChannel _serverSocket; - protected Map _links; + protected WeakHashMap _links; public NioServer(final String name, final int port, final int workers, final HandlerFactory factory, final CAService caService) { super(name, port, workers, factory); setCAService(caService); _localAddr = null; - _links = new WeakHashMap(10240); + _links = new WeakHashMap(1024); } public int getPort() { @@ -76,12 +75,12 @@ public class NioServer extends NioConnection { @Override protected void registerLink(final InetSocketAddress addr, final Link link) { - _links.put(addr.getAddress().toString(), link); + _links.put(addr, link); } @Override protected void unregisterLink(final InetSocketAddress saddr) { - _links.remove(saddr.getAddress().toString()); + _links.remove(saddr); } /** @@ -94,7 +93,7 @@ public class NioServer extends NioConnection { * @return null if not sent. attach object in link if sent. */ public Object send(final InetSocketAddress saddr, final byte[] data) throws ClosedChannelException { - final Link link = _links.get(saddr.getAddress().toString()); + final Link link = _links.get(saddr); if (link == null) { return null; }