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 2005/12/21 10:12:54 UTC

svn commit: r358236 - /directory/network/trunk/src/java/org/apache/mina/filter/SSLFilter.java

Author: trustin
Date: Wed Dec 21 01:12:50 2005
New Revision: 358236

URL: http://svn.apache.org/viewcvs?rev=358236&view=rev
Log:
Removed all calls to IoFuture.join() in SSLFilter to make it run without ThreadPoolFilter

Modified:
    directory/network/trunk/src/java/org/apache/mina/filter/SSLFilter.java

Modified: directory/network/trunk/src/java/org/apache/mina/filter/SSLFilter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/filter/SSLFilter.java?rev=358236&r1=358235&r2=358236&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/filter/SSLFilter.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/filter/SSLFilter.java Wed Dec 21 01:12:50 2005
@@ -29,6 +29,7 @@
 import org.apache.mina.common.CloseFuture;
 import org.apache.mina.common.IoFilterAdapter;
 import org.apache.mina.common.IoFilterChain;
+import org.apache.mina.common.IoFuture;
 import org.apache.mina.common.IoHandler;
 import org.apache.mina.common.IoSession;
 import org.apache.mina.common.WriteFuture;
@@ -330,10 +331,9 @@
     public void onPreRemove( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
     {
         IoSession session = parent.getSession();
-        WriteFuture future = stopSSL( session );
+        stopSSL( session );
         session.removeAttribute( NEXT_FILTER );
         session.removeAttribute( SSL_HANDLER );
-        future.join();
     }
 
     // IoFilter impl.
@@ -526,7 +526,7 @@
         }
     }
     
-    public void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws SSLException
+    public void filterClose( final NextFilter nextFilter, final IoSession session, final CloseFuture closeFuture ) throws SSLException
     {
         SSLHandler handler = getSSLSessionHandler( session );
 
@@ -542,13 +542,21 @@
             }
             finally
             {
-                nextFilter.filterClose( session, closeFuture );
+                if( future == null )
+                {
+                    nextFilter.filterClose( session, closeFuture );
+                }
+                else
+                {
+                    future.setCallback( new IoFuture.Callback()
+                    {
+                        public void operationComplete( IoFuture future )
+                        {
+                            nextFilter.filterClose( session, closeFuture );
+                        }
+                    });
+                }
             }
-        }
-        
-        if( future != null )
-        {
-            future.join();
         }
     }