You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/07/11 10:29:09 UTC

svn commit: r555203 - in /mina/branches/1.0: core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java

Author: trustin
Date: Wed Jul 11 01:29:08 2007
New Revision: 555203

URL: http://svn.apache.org/viewvc?view=rev&rev=555203
Log:
Fixed issue: DIRMINA-390 (IoHandler.messageSent is not called when FilterChain contains SSLFilter)



Modified:
    mina/branches/1.0/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java
    mina/branches/1.0/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java

Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java?view=diff&rev=555203&r1=555202&r2=555203
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java Wed Jul 11 01:29:08 2007
@@ -25,7 +25,6 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.mina.common.ByteBuffer;
 import org.apache.mina.common.ConnectFuture;
 import org.apache.mina.common.IdleStatus;
 import org.apache.mina.common.IoFilter;
@@ -809,18 +808,6 @@
                 public void filterWrite( IoSession session, WriteRequest writeRequest )
                 {
                     Entry nextEntry = EntryImpl.this.prevEntry;
-                    if( nextEntry != head && writeRequest.getMessage() instanceof ByteBuffer )
-                    {
-                        // A special message is a buffer with zero length.
-                        // A special message will bypass all next filters.
-                        // TODO: Provide a nicer way to take care of special messages.
-                        ByteBuffer message = ( ByteBuffer ) writeRequest.getMessage();
-                        if( message.remaining() == 0 )
-                        {
-                            callPreviousFilterWrite( head, session, writeRequest );
-                            return;
-                        }
-                    }
                     callPreviousFilterWrite( nextEntry, session, writeRequest );
                 }
 

Modified: mina/branches/1.0/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java?view=diff&rev=555203&r1=555202&r2=555203
==============================================================================
--- mina/branches/1.0/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java (original)
+++ mina/branches/1.0/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java Wed Jul 11 01:29:08 2007
@@ -195,10 +195,15 @@
         }
 
         ByteBuffer inBuffer = ( ByteBuffer ) writeRequest.getMessage();
-        ByteBuffer outBuf = deflater.deflate( inBuffer );
-        inBuffer.release();
-        nextFilter.filterWrite( session, new WriteRequest( outBuf, writeRequest
-                .getFuture() ) );
+        if (!inBuffer.hasRemaining()) {
+            // Ignore empty buffers
+            nextFilter.filterWrite(session, writeRequest);
+        } else {
+            ByteBuffer outBuf = deflater.deflate( inBuffer );
+            inBuffer.release();
+            nextFilter.filterWrite( session, new WriteRequest( outBuf, writeRequest
+                    .getFuture() ) );
+        }
     }
 
     public void onPreAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws Exception