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 2009/02/26 00:15:03 UTC
svn commit: r747958 -
/mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java
Author: elecharny
Date: Wed Feb 25 23:15:03 2009
New Revision: 747958
URL: http://svn.apache.org/viewvc?rev=747958&view=rev
Log:
Added a test where we unbind and rebind on an acceptor
Modified:
mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java
Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java?rev=747958&r1=747957&r2=747958&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java Wed Feb 25 23:15:03 2009
@@ -186,6 +186,51 @@
}
}
+ public void testUnbindResume() throws Exception {
+ bind(true);
+ IoConnector connector = newConnector();
+ IoSession session = null;
+ connector.setHandler(new IoHandlerAdapter());
+
+ ConnectFuture future = connector.connect(createSocketAddress(port));
+ future.awaitUninterruptibly();
+ session = future.getSession();
+ Assert.assertTrue(session.isConnected());
+ Assert.assertTrue(session.write(IoBuffer.allocate(1)).awaitUninterruptibly().isWritten());
+
+ // Wait for the server side session to be created.
+ Thread.sleep(500);
+
+ Collection<IoSession> managedSession = acceptor.getManagedSessions().values();
+ Assert.assertEquals(1, managedSession.size());
+
+ acceptor.unbind();
+
+ // Wait for the client side sessions to close.
+ Thread.sleep(500);
+
+ Assert.assertEquals(0, managedSession.size());
+ for (IoSession element : managedSession) {
+ Assert.assertFalse(element.isConnected());
+ }
+
+ // Rebind
+ bind(true);
+
+ // Check again the connection
+ future = connector.connect(createSocketAddress(port));
+ future.awaitUninterruptibly();
+ session = future.getSession();
+ Assert.assertTrue(session.isConnected());
+ Assert.assertTrue(session.write(IoBuffer.allocate(1)).awaitUninterruptibly().isWritten());
+
+ // Wait for the server side session to be created.
+ Thread.sleep(500);
+
+ managedSession = acceptor.getManagedSessions().values();
+ Assert.assertEquals(1, managedSession.size());
+ }
+
public void _testRegressively() throws IOException {
setReuseAddress(true);