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/01/29 03:48:53 UTC

svn commit: r500927 - in /mina: branches/1.0/core/src/main/java/org/apache/mina/filter/codec/ branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ trunk/core/src/main/java/org/apache/mina/filter/codec/

Author: trustin
Date: Sun Jan 28 18:48:52 2007
New Revision: 500927

URL: http://svn.apache.org/viewvc?view=rev&rev=500927
Log:
Resolved issue: DIRMINA-324 (ProtocolCodecFilter can not be dynamicly be replaced by another.)
* Added onPostRemove() handler that disposes encoder and decoder for sure. (Thanks to Wolter)


Modified:
    mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
    mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java

Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?view=diff&rev=500927&r1=500926&r2=500927
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Sun Jan 28 18:48:52 2007
@@ -139,6 +139,12 @@
             throw new IllegalStateException( "A filter chain cannot contain more than one ProtocolCodecFilter." );
         }
     }
+    
+    public void onPostRemove( IoFilterChain parent, String name, NextFilter nextFilter ) throws Exception
+    {
+        disposeEncoder( parent.getSession() );
+        disposeDecoder( parent.getSession() ); 
+    }
 
     public void messageReceived( NextFilter nextFilter, IoSession session, Object message ) throws Exception
     {

Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?view=diff&rev=500927&r1=500926&r2=500927
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Sun Jan 28 18:48:52 2007
@@ -140,6 +140,12 @@
             throw new IllegalStateException( "A filter chain cannot contain more than one ProtocolCodecFilter." );
         }
     }
+    
+    public void onPostRemove( IoFilterChain parent, String name, NextFilter nextFilter ) throws Exception
+    {
+        disposeEncoder( parent.getSession() );
+        disposeDecoder( parent.getSession() ); 
+    }
 
     @Override
     public void messageReceived( NextFilter nextFilter, IoSession session, Object message ) throws Exception

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?view=diff&rev=500927&r1=500926&r2=500927
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Sun Jan 28 18:48:52 2007
@@ -139,6 +139,12 @@
             throw new IllegalStateException( "A filter chain cannot contain more than one ProtocolCodecFilter." );
         }
     }
+    
+    public void onPostRemove( IoFilterChain parent, String name, NextFilter nextFilter ) throws Exception
+    {
+        disposeEncoder( parent.getSession() );
+        disposeDecoder( parent.getSession() ); 
+    }
 
     public void messageReceived( NextFilter nextFilter, IoSession session, Object message ) throws Exception
     {