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