You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2016/08/24 15:24:13 UTC
mina git commit: Slightly changing the test : - the messageReceive
does not anymore close the session (it's already closed on the client) -
looping 10 000 times - removing the verbose logs,
adding some logs and a counter.
Repository: mina
Updated Branches:
refs/heads/2.0 109381c94 -> 8238a93fa
Slightly changing the test :
- the messageReceive does not anymore close the session (it's already
closed on the client)
- looping 10 000 times
- removing the verbose logs, adding some logs and a counter.
Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/8238a93f
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/8238a93f
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/8238a93f
Branch: refs/heads/2.0
Commit: 8238a93fab3cb09366f9003d2de591e39c365810
Parents: 109381c
Author: Emmanuel L�charny <el...@symas.com>
Authored: Wed Aug 24 16:39:16 2016 +0200
Committer: Emmanuel L�charny <el...@symas.com>
Committed: Wed Aug 24 16:39:16 2016 +0200
----------------------------------------------------------------------
.../transport/socket/nio/DIRMINA1041Test.java | 63 ++++++++++++++++----
1 file changed, 51 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina/blob/8238a93f/mina-core/src/test/java/org/apache/mina/transport/socket/nio/DIRMINA1041Test.java
----------------------------------------------------------------------
diff --git a/mina-core/src/test/java/org/apache/mina/transport/socket/nio/DIRMINA1041Test.java b/mina-core/src/test/java/org/apache/mina/transport/socket/nio/DIRMINA1041Test.java
index 4f70106..08cbf30 100644
--- a/mina-core/src/test/java/org/apache/mina/transport/socket/nio/DIRMINA1041Test.java
+++ b/mina-core/src/test/java/org/apache/mina/transport/socket/nio/DIRMINA1041Test.java
@@ -1,5 +1,6 @@
package org.apache.mina.transport.socket.nio;
+import org.apache.mina.core.buffer.IoBuffer;
import org.apache.mina.core.future.CloseFuture;
import org.apache.mina.core.future.ConnectFuture;
import org.apache.mina.core.future.WriteFuture;
@@ -18,40 +19,71 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.InetSocketAddress;
+import java.net.SocketAddress;
public class DIRMINA1041Test {
private static final Logger LOG = LoggerFactory.getLogger(DIRMINA1041Test.class);
private static final String HOST = "localhost";
private static final int PORT = AvailablePortFinder.getNextAvailable();
- private static final long TIMEOUT = 3000L;
+ private static final long TIMEOUT = 10000L;
+ private static int counter = 0;
private SocketAcceptor acceptor;
private SocketConnector connector;
@Before
public void setUp() throws Exception {
acceptor = new NioSocketAcceptor();
+ acceptor.setReuseAddress(true);
acceptor.setHandler(new SomeAcceptHandler());
acceptor.bind(new InetSocketAddress(HOST, PORT));
connector = new NioSocketConnector();
+ connector.getSessionConfig().setReuseAddress(true);
connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory()));
connector.setHandler(new SomeConnectHandler());
}
@Test
public void testWrite() throws InterruptedException {
- for (int i = 0; i < 1000; i++) {
- IoSession session = getSession();
-
- WriteFuture future = session.write("Test");
- LOG.info("Waiting for WriteFuture to complete. Session: " + session);
- if (!future.await(TIMEOUT)) {
- Assert.fail("WriteFuture did not complete. Session: " + session);
+ SocketAddress address = new InetSocketAddress(HOST, PORT);
+
+ try {
+ for (int i = 0; i < 10000; i++) {
+ ConnectFuture future = connector.connect( address);
+
+ if (!future.awaitUninterruptibly(TIMEOUT)) {
+
+ Assert.fail("ConnectFuture did not complete.");
+ }
+
+ IoSession session = future.getSession();
+
+ if ( i % 1000 == 0 ) {
+ System.out.println("Loop " + i +", counter = " + counter);
+ }
+
+ WriteFuture writeFuture = session.write("Test" + i);
+
+ //LOG.info("Waiting for WriteFuture to complete. Session: " + session);
+ if (!writeFuture.await(TIMEOUT)) {
+ LOG.info("WriteFuture did not complete. Session: " + session);
+ Assert.fail("WriteFuture did not complete. Session: " + session);
+ }
+
+ CloseFuture closeFuture = session.closeOnFlush();
+
+ if (!closeFuture.awaitUninterruptibly(TIMEOUT)) {
+ Assert.fail("CloseFuture did not complete.");
+ }
+
+ //Thread.sleep( 2 );
}
-
- closeSession(session);
+ } catch (Exception e) {
+ e.printStackTrace();
}
+
+ System.out.println("Done " + 100000 + " loops, counter = " + counter);
}
@After
@@ -63,6 +95,7 @@ public class DIRMINA1041Test {
private IoSession getSession() {
ConnectFuture future = connector.connect(new InetSocketAddress(HOST, PORT));
if (!future.awaitUninterruptibly(TIMEOUT)) {
+
Assert.fail("ConnectFuture did not complete.");
}
return future.getSession();
@@ -78,14 +111,20 @@ public class DIRMINA1041Test {
private class SomeConnectHandler extends IoHandlerAdapter {
@Override
public void sessionClosed(IoSession session) throws Exception {
- LOG.info("Connector - Session closed : " + session);
+ //LOG.info("Connector - Session closed : " + session);
+ }
+
+ public void messageSent(IoSession session, Object message) throws Exception {
+ //LOG.info("message sent : " + message);
}
}
private class SomeAcceptHandler extends IoHandlerAdapter {
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
- session.closeNow();
+ //LOG.info("Message received : " + ((IoBuffer)message).toString() );
+ counter++;
+ //session.closeNow();
}
}
}
Re: mina git commit: Slightly changing the test : - the
messageReceive does not anymore close the session (it's already closed on the
client) - looping 10 000 times - removing the verbose logs, adding some logs
and a counter.
Posted by Kai Zhang <lo...@gmail.com>.
sorry, but how to cancel subscription from this mailing list?
On Wed, Aug 24, 2016 at 11:24 PM, <el...@apache.org> wrote:
> Repository: mina
> Updated Branches:
> refs/heads/2.0 109381c94 -> 8238a93fa
>
>
> Slightly changing the test :
> - the messageReceive does not anymore close the session (it's already
> closed on the client)
> - looping 10 000 times
> - removing the verbose logs, adding some logs and a counter.
>
> Project: http://git-wip-us.apache.org/repos/asf/mina/repo
> Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/8238a93f
> Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/8238a93f
> Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/8238a93f
>
> Branch: refs/heads/2.0
> Commit: 8238a93fab3cb09366f9003d2de591e39c365810
> Parents: 109381c
> Author: Emmanuel Lécharny <el...@symas.com>
> Authored: Wed Aug 24 16:39:16 2016 +0200
> Committer: Emmanuel Lécharny <el...@symas.com>
> Committed: Wed Aug 24 16:39:16 2016 +0200
>
> ----------------------------------------------------------------------
> .../transport/socket/nio/DIRMINA1041Test.java | 63 ++++++++++++++++----
> 1 file changed, 51 insertions(+), 12 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/mina/blob/8238a93f/
> mina-core/src/test/java/org/apache/mina/transport/socket/
> nio/DIRMINA1041Test.java
> ----------------------------------------------------------------------
> diff --git a/mina-core/src/test/java/org/apache/mina/transport/socket/nio/DIRMINA1041Test.java
> b/mina-core/src/test/java/org/apache/mina/transport/socket/
> nio/DIRMINA1041Test.java
> index 4f70106..08cbf30 100644
> --- a/mina-core/src/test/java/org/apache/mina/transport/socket/
> nio/DIRMINA1041Test.java
> +++ b/mina-core/src/test/java/org/apache/mina/transport/socket/
> nio/DIRMINA1041Test.java
> @@ -1,5 +1,6 @@
> package org.apache.mina.transport.socket.nio;
>
> +import org.apache.mina.core.buffer.IoBuffer;
> import org.apache.mina.core.future.CloseFuture;
> import org.apache.mina.core.future.ConnectFuture;
> import org.apache.mina.core.future.WriteFuture;
> @@ -18,40 +19,71 @@ import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
>
> import java.net.InetSocketAddress;
> +import java.net.SocketAddress;
>
> public class DIRMINA1041Test {
>
> private static final Logger LOG = LoggerFactory.getLogger(
> DIRMINA1041Test.class);
> private static final String HOST = "localhost";
> private static final int PORT = AvailablePortFinder.
> getNextAvailable();
> - private static final long TIMEOUT = 3000L;
> + private static final long TIMEOUT = 10000L;
> + private static int counter = 0;
> private SocketAcceptor acceptor;
> private SocketConnector connector;
>
> @Before
> public void setUp() throws Exception {
> acceptor = new NioSocketAcceptor();
> + acceptor.setReuseAddress(true);
> acceptor.setHandler(new SomeAcceptHandler());
> acceptor.bind(new InetSocketAddress(HOST, PORT));
>
> connector = new NioSocketConnector();
> + connector.getSessionConfig().setReuseAddress(true);
> connector.getFilterChain().addLast("codec", new
> ProtocolCodecFilter(new TextLineCodecFactory()));
> connector.setHandler(new SomeConnectHandler());
> }
>
> @Test
> public void testWrite() throws InterruptedException {
> - for (int i = 0; i < 1000; i++) {
> - IoSession session = getSession();
> -
> - WriteFuture future = session.write("Test");
> - LOG.info("Waiting for WriteFuture to complete. Session: " +
> session);
> - if (!future.await(TIMEOUT)) {
> - Assert.fail("WriteFuture did not complete. Session: " +
> session);
> + SocketAddress address = new InetSocketAddress(HOST, PORT);
> +
> + try {
> + for (int i = 0; i < 10000; i++) {
> + ConnectFuture future = connector.connect( address);
> +
> + if (!future.awaitUninterruptibly(TIMEOUT)) {
> +
> + Assert.fail("ConnectFuture did not complete.");
> + }
> +
> + IoSession session = future.getSession();
> +
> + if ( i % 1000 == 0 ) {
> + System.out.println("Loop " + i +", counter = " +
> counter);
> + }
> +
> + WriteFuture writeFuture = session.write("Test" + i);
> +
> + //LOG.info("Waiting for WriteFuture to complete. Session:
> " + session);
> + if (!writeFuture.await(TIMEOUT)) {
> + LOG.info("WriteFuture did not complete. Session: " +
> session);
> + Assert.fail("WriteFuture did not complete. Session: "
> + session);
> + }
> +
> + CloseFuture closeFuture = session.closeOnFlush();
> +
> + if (!closeFuture.awaitUninterruptibly(TIMEOUT)) {
> + Assert.fail("CloseFuture did not complete.");
> + }
> +
> + //Thread.sleep( 2 );
> }
> -
> - closeSession(session);
> + } catch (Exception e) {
> + e.printStackTrace();
> }
> +
> + System.out.println("Done " + 100000 + " loops, counter = " +
> counter);
> }
>
> @After
> @@ -63,6 +95,7 @@ public class DIRMINA1041Test {
> private IoSession getSession() {
> ConnectFuture future = connector.connect(new
> InetSocketAddress(HOST, PORT));
> if (!future.awaitUninterruptibly(TIMEOUT)) {
> +
> Assert.fail("ConnectFuture did not complete.");
> }
> return future.getSession();
> @@ -78,14 +111,20 @@ public class DIRMINA1041Test {
> private class SomeConnectHandler extends IoHandlerAdapter {
> @Override
> public void sessionClosed(IoSession session) throws Exception {
> - LOG.info("Connector - Session closed : " + session);
> + //LOG.info("Connector - Session closed : " + session);
> + }
> +
> + public void messageSent(IoSession session, Object message) throws
> Exception {
> + //LOG.info("message sent : " + message);
> }
> }
>
> private class SomeAcceptHandler extends IoHandlerAdapter {
> @Override
> public void messageReceived(IoSession session, Object message)
> throws Exception {
> - session.closeNow();
> + //LOG.info("Message received : " +
> ((IoBuffer)message).toString() );
> + counter++;
> + //session.closeNow();
> }
> }
> }
>
>