You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2006/09/13 05:03:03 UTC
svn commit: r442807 - in /directory/trunks/mina/core/src:
main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
test/java/org/apache/mina/transport/AbstractTrafficControlTest.java
Author: trustin
Date: Tue Sep 12 20:03:03 2006
New Revision: 442807
URL: http://svn.apache.org/viewvc?view=rev&rev=442807
Log:
Removed the workaround for AbstractTrafficControlTest
Modified:
directory/trunks/mina/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
directory/trunks/mina/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java
Modified: directory/trunks/mina/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
URL: http://svn.apache.org/viewvc/directory/trunks/mina/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java?view=diff&rev=442807&r1=442806&r2=442807
==============================================================================
--- directory/trunks/mina/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java (original)
+++ directory/trunks/mina/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java Tue Sep 12 20:03:03 2006
@@ -33,10 +33,8 @@
import org.apache.mina.common.ExceptionMonitor;
import org.apache.mina.common.IoConnector;
import org.apache.mina.common.IoConnectorConfig;
-import org.apache.mina.common.IoFilterAdapter;
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.IoServiceConfig;
-import org.apache.mina.common.IoSession;
import org.apache.mina.common.support.BaseIoConnector;
import org.apache.mina.common.support.DefaultConnectFuture;
import org.apache.mina.util.Queue;
@@ -343,7 +341,7 @@
}
}
- private void newSession( SocketChannel ch, IoHandler handler, IoServiceConfig config, final ConnectFuture connectFuture )
+ private void newSession( SocketChannel ch, IoHandler handler, IoServiceConfig config, ConnectFuture connectFuture )
throws IOException
{
SocketSessionImpl session = new SocketSessionImpl( this,
@@ -358,28 +356,13 @@
getFilterChainBuilder().buildFilterChain( session.getFilterChain() );
config.getFilterChainBuilder().buildFilterChain( session.getFilterChain() );
config.getThreadModel().buildFilterChain( session.getFilterChain() );
- session.getFilterChain().addFirst("__CONNECT_FUTURE_NOTIFIER__", new IoFilterAdapter()
- {
-
- public void sessionCreated( NextFilter nextFilter, IoSession session ) throws Exception
- {
- session.getFilterChain().remove( "__CONNECT_FUTURE_NOTIFIER__" );
- try
- {
- nextFilter.sessionCreated( session );
- }
- finally
- {
- connectFuture.setSession( session );
- }
- }
- });
}
catch( Throwable e )
{
throw ( IOException ) new IOException( "Failed to create a session." ).initCause( e );
}
session.getIoProcessor().addNew( session );
+ connectFuture.setSession( session );
}
private SocketIoProcessor nextProcessor()
Modified: directory/trunks/mina/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/mina/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java?view=diff&rev=442807&r1=442806&r2=442807
==============================================================================
--- directory/trunks/mina/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java (original)
+++ directory/trunks/mina/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java Tue Sep 12 20:03:03 2006
@@ -77,6 +77,13 @@
future.join();
IoSession session = future.getSession();
+ // We wait for the sessionCreated() event is fired becayse we cannot guarentee that
+ // it is invoked already.
+ while( session.getAttribute( "lock" ) == null )
+ {
+ Thread.yield();
+ }
+
Object lock = session.getAttribute( "lock" );
synchronized( lock )
{