diff --git a/Mage.Network/src/main/java/org/mage/network/Client.java b/Mage.Network/src/main/java/org/mage/network/Client.java index 0f5161c2895..b62f99cdb62 100644 --- a/Mage.Network/src/main/java/org/mage/network/Client.java +++ b/Mage.Network/src/main/java/org/mage/network/Client.java @@ -61,10 +61,11 @@ public class Client { private SslContext sslCtx; private Channel channel; - private EventLoopGroup group; private String username; private String host; private int port; + + private static final EventLoopGroup group = new NioEventLoopGroup(); public Client(MageClient client) { this.client = client; @@ -81,7 +82,6 @@ public class Client { this.host = connection.getHost(); this.port = connection.getPort(); - group = new NioEventLoopGroup(); try { if (connection.isSSL()) { sslCtx = SslContext.newClientContext(InsecureTrustManagerFactory.INSTANCE); @@ -112,7 +112,7 @@ public class Client { } return false; } - + private class ClientInitializer extends ChannelInitializer { @Override @@ -141,11 +141,13 @@ public class Client { try { channel.disconnect().sync(); client.disconnected(error); - } catch (InterruptedException ex) { + } + catch (InterruptedException ex) { logger.fatal("Error disconnecting", ex); - } finally { - group.shutdownGracefully(); - } + } +// finally { +// group.shutdownGracefully(); +// } } public boolean isConnected() { diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/client/HeartbeatHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/client/HeartbeatHandler.java index 43431621226..b8404584aa0 100644 --- a/Mage.Network/src/main/java/org/mage/network/handlers/client/HeartbeatHandler.java +++ b/Mage.Network/src/main/java/org/mage/network/handlers/client/HeartbeatHandler.java @@ -29,7 +29,7 @@ public class HeartbeatHandler extends ChannelHandlerAdapter { logger.info("Disconnected due to extended idle"); } else if (e.state() == IdleState.WRITER_IDLE) { ctx.writeAndFlush(ping).addListener(WriteListener.getInstance()); - logger.info("Sending ping"); + logger.debug("Sending ping"); } } } diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/server/HeartbeatHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/server/HeartbeatHandler.java index bca22e65e88..b1c03c3d204 100644 --- a/Mage.Network/src/main/java/org/mage/network/handlers/server/HeartbeatHandler.java +++ b/Mage.Network/src/main/java/org/mage/network/handlers/server/HeartbeatHandler.java @@ -42,13 +42,14 @@ public class HeartbeatHandler extends ChannelHandlerAdapter { if (evt instanceof IdleStateEvent) { IdleStateEvent e = (IdleStateEvent) evt; if (e.state() == IdleState.READER_IDLE) { - server.disconnect(getSessionId(ctx), DisconnectReason.LostConnection); + String sessionId = getSessionId(ctx); + server.disconnect(sessionId, DisconnectReason.LostConnection); ctx.disconnect(); - logger.info("Disconnected due to extended idle"); + logger.info(sessionId + " disconnected due to extended idle"); } else if (e.state() == IdleState.WRITER_IDLE) { startTime = System.nanoTime(); ctx.writeAndFlush(ping).addListener(WriteListener.getInstance()); - logger.info("Sending ping"); + logger.debug("Sending ping"); } } } diff --git a/Mage.Server.Tests/src/test/java/org/mage/server/test/load/ConnectionLoadTest.java b/Mage.Server.Tests/src/test/java/org/mage/server/test/load/ConnectionLoadTest.java index 6a70c0dc9ca..2de19a17bc5 100644 --- a/Mage.Server.Tests/src/test/java/org/mage/server/test/load/ConnectionLoadTest.java +++ b/Mage.Server.Tests/src/test/java/org/mage/server/test/load/ConnectionLoadTest.java @@ -8,7 +8,7 @@ import org.junit.Test; */ public class ConnectionLoadTest extends BaseLoadTest { - private static final Integer USER_COUNT = 400; + private static final Integer USER_COUNT = 1000; @Test public void connectTest() {