Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 34165 invoked from network); 25 Mar 2005 13:43:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 25 Mar 2005 13:43:28 -0000 Received: (qmail 42497 invoked by uid 500); 25 Mar 2005 13:43:27 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 42476 invoked by uid 500); 25 Mar 2005 13:43:27 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 42456 invoked by uid 99); 25 Mar 2005 13:43:27 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Fri, 25 Mar 2005 05:43:25 -0800 Received: (qmail 34152 invoked by uid 65534); 25 Mar 2005 13:43:24 -0000 Message-ID: <20050325134324.34151.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Fri, 25 Mar 2005 13:43:24 -0000 Subject: svn commit: r159009 - in directory/network/trunk/src: java/org/apache/mina/io/ java/org/apache/mina/io/datagram/ java/org/apache/mina/io/socket/ java/org/apache/mina/protocol/ java/org/apache/mina/protocol/io/ java/org/apache/mina/protocol/vmpipe/ java/org/apache/mina/registry/ test/org/apache/mina/io/ test/org/apache/mina/protocol/ To: commits@directory.apache.org From: trustin@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Fri Mar 25 05:43:18 2005 New Revision: 159009 URL: http://svn.apache.org/viewcvs?view=3Drev&rev=3D159009 Log: It is turned out that filter chains are not nestable. Nested filter chains= will cause emission of duplicate events. So, I made chains unnestable. Modified: directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFi= lterChain.java directory/network/trunk/src/java/org/apache/mina/io/IoAcceptor.java directory/network/trunk/src/java/org/apache/mina/io/IoConnector.java directory/network/trunk/src/java/org/apache/mina/io/IoHandlerFilterChai= n=2Ejava directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramCo= nnector.java directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramFi= lterChain.java directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramSe= ssion.java directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java directory/network/trunk/src/java/org/apache/mina/io/socket/SocketConnec= tor.java directory/network/trunk/src/java/org/apache/mina/io/socket/SocketFilter= Chain.java directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProc= essor.java directory/network/trunk/src/java/org/apache/mina/io/socket/SocketSessio= n=2Ejava directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProto= colHandlerFilterChain.java directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolAccep= tor.java directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolConne= ctor.java directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolHandl= erFilterChain.java directory/network/trunk/src/java/org/apache/mina/protocol/io/IoAdapter.= java directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= Acceptor.java directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= Connector.java directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= FilterChain.java directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Acceptor.java directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Connector.java directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Filter.java directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= FilterChain.java directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= IdleStatusChecker.java directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Session.java directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegist= ry.java directory/network/trunk/src/java/org/apache/mina/registry/SimpleService= Registry.java directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilterChai= nTest.java directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolHandl= erFilterChainTest.java Modified: directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHan= dlerFilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/AbstractIoHandlerFilterChain.java?view=3Ddiff&r1=3D159008&r2=3D= 159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFi= lterChain.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFi= lterChain.java Fri Mar 25 05:43:18 2005 @@ -9,6 +9,7 @@ =20 import org.apache.mina.common.ByteBuffer; import org.apache.mina.common.IdleStatus; +import org.apache.mina.io.IoHandlerFilter.NextFilter; =20 public abstract class AbstractIoHandlerFilterChain implements IoHandlerFil= terChain { @@ -51,90 +52,7 @@ public void filterWrite( NextFilter nextFilter, IoSession session, ByteBuffer buf, Object marker ) { - if( parent =3D=3D null ) - { - // write only when root filter chain traversal is finished= . - doWrite( session, buf, marker ); - } - } - }; - =20 - private final IoHandlerFilter NEXT_FILTER =3D new IoHandlerFilter() - { - public void sessionOpened( NextFilter nextFilter, IoSession sessio= n ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractIoH= andlerFilterChain.this ); - e.nextFilter.sessionOpened( session ); - } - nextFilter.sessionOpened( session ); - } - - public void sessionClosed( NextFilter nextFilter, IoSession sessio= n ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractIoH= andlerFilterChain.this ); - e.nextFilter.sessionClosed( session ); - } - nextFilter.sessionClosed( session ); - } - - public void sessionIdle( NextFilter nextFilter, IoSession session, - IdleStatus status ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractIoH= andlerFilterChain.this ); - =20 - e.nextFilter.sessionIdle( session, status ); - } - nextFilter.sessionIdle( session, status ); - } - - public void exceptionCaught( NextFilter nextFilter, - IoSession session, Throwable cause ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractIoH= andlerFilterChain.this ); - e.nextFilter.exceptionCaught( session, cause ); - } - nextFilter.exceptionCaught( session, cause ); - } - - public void dataRead( NextFilter nextFilter, IoSession session, - ByteBuffer buf ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractIoH= andlerFilterChain.this ); - e.nextFilter.dataRead( session, buf ); - } - nextFilter.dataRead( session, buf ); - } - - public void dataWritten( NextFilter nextFilter, IoSession session, - Object marker ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractIoH= andlerFilterChain.this ); - e.nextFilter.dataWritten( session, marker ); - } - nextFilter.dataWritten( session, marker ); - } - =20 - public void filterWrite( NextFilter nextFilter, IoSession session, - ByteBuffer buf, Object marker ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractIoH= andlerFilterChain.this ); - e.prevFilter.filterWrite( session, buf, marker ); - } - nextFilter.filterWrite( session, buf, marker ); + doWrite( session, buf, marker ); } }; =20 @@ -142,56 +60,38 @@ { public void sessionOpened( NextFilter nextFilter, IoSession sessio= n ) { - if( parent =3D=3D null ) - { - session.getHandler().sessionOpened( session ); - } + session.getHandler().sessionOpened( session ); } =20 public void sessionClosed( NextFilter nextFilter, IoSession sessio= n ) { - if( parent =3D=3D null ) - { - session.getHandler().sessionClosed( session ); - } + session.getHandler().sessionClosed( session ); } =20 public void sessionIdle( NextFilter nextFilter, IoSession session, IdleStatus status ) { - if( parent =3D=3D null ) - { - session.getHandler().sessionIdle( session, status ); - } + session.getHandler().sessionIdle( session, status ); } =20 public void exceptionCaught( NextFilter nextFilter, IoSession session, Throwable cause ) { - if( parent =3D=3D null ) - { - session.getHandler().exceptionCaught( session, cause ); - } + session.getHandler().exceptionCaught( session, cause ); } =20 public void dataRead( NextFilter nextFilter, IoSession session, ByteBuffer buf ) { - if( parent =3D=3D null ) - { - IoHandler handler =3D session.getHandler(); - handler.dataRead( session, buf ); - buf.release(); - } + IoHandler handler =3D session.getHandler(); + handler.dataRead( session, buf ); + buf.release(); } =20 public void dataWritten( NextFilter nextFilter, IoSession session, Object marker ) { - if( parent =3D=3D null ) - { - session.getHandler().dataWritten( session, marker ); - } + session.getHandler().dataWritten( session, marker ); } =20 public void filterWrite( NextFilter nextFilter, @@ -201,10 +101,6 @@ } }; =20 - private final boolean root; - - private AbstractIoHandlerFilterChain parent; - =20 private final Map name2entry =3D new HashMap(); =20 private final Map filter2entry =3D new IdentityHashMap(); @@ -213,33 +109,11 @@ =20 private final Entry tail; =20 - protected AbstractIoHandlerFilterChain( boolean root ) + protected AbstractIoHandlerFilterChain() { - this.root =3D root; - head =3D new Entry( null, null, "head", HEAD_FILTER ); tail =3D new Entry( head, null, "tail", TAIL_FILTER ); head.nextEntry =3D tail; - =20 - if( !root ) - { - register( head, IoHandlerFilterChain.NEXT_FILTER, NEXT_FILTER = ); - } - } - =20 - public IoHandlerFilterChain getRoot() - { - AbstractIoHandlerFilterChain current =3D this; - while( current.parent !=3D null ) - { - current =3D current.parent; - } - return current; - } - =20 - public IoHandlerFilterChain getParent() - { - return parent; } =20 public IoHandlerFilter getChild( String name ) @@ -258,7 +132,7 @@ public synchronized void addFirst( String name, IoHandlerFilter filter ) { - checkAddable( name, filter ); + checkAddable( name ); register( head, name, filter ); } =20 @@ -269,7 +143,7 @@ public synchronized void addLast( String name, IoHandlerFilter filter ) { - checkAddable( name, filter ); + checkAddable( name ); register( tail.prevEntry, name, filter ); } =20 @@ -283,7 +157,7 @@ IoHandlerFilter filter ) { Entry baseEntry =3D checkOldName( baseName ); - checkAddable( name, filter ); + checkAddable( name ); register( baseEntry, name, filter ); } =20 @@ -297,7 +171,7 @@ IoHandlerFilter filter ) { Entry baseEntry =3D checkOldName( baseName ); - checkAddable( name, filter ); + checkAddable( name ); register( baseEntry.prevEntry, name, filter ); } =20 @@ -316,10 +190,6 @@ name2entry.remove( name ); IoHandlerFilter filter =3D entry.filter; filter2entry.remove( filter ); - if ( filter instanceof AbstractIoHandlerFilterChain ) - { - ( ( AbstractIoHandlerFilterChain ) filter ).parent =3D null; - } } =20 =20 @@ -337,24 +207,6 @@ =20 private void register( Entry prevEntry, String name, IoHandlerFilter f= ilter ) { - if ( filter instanceof AbstractIoHandlerFilterChain ) - { - if( !this.getClass().isAssignableFrom( filter.getClass() ) ) - { - throw new IllegalArgumentException( "Incompatible chain" )= ; - } - if( ( ( AbstractIoHandlerFilterChain ) filter ).root ) - { - throw new IllegalArgumentException( "Root chain cannot be = added." ); - } - if( ( ( AbstractIoHandlerFilterChain ) filter ).parent !=3D nu= ll ) - { - throw new IllegalArgumentException( "Already added to othe= r parent chain." ); - } - - ( ( AbstractIoHandlerFilterChain ) filter ).parent =3D this; - } - =20 Entry newEntry =3D new Entry( prevEntry, prevEntry.nextEntry, name= , filter ); prevEntry.nextEntry.prevEntry =3D newEntry; prevEntry.nextEntry =3D newEntry; @@ -382,23 +234,15 @@ /** * Checks the specified interceptor name is already taken and throws a= n exception if already taken. */ - private void checkAddable( String name, IoHandlerFilter filter ) + private void checkAddable( String name ) { if ( name2entry.containsKey( name ) ) { throw new IllegalArgumentException( "Other interceptor is usin= g name '" + name + "'" ); } - - if ( filter instanceof AbstractIoHandlerFilterChain ) - { - if ( ( ( AbstractIoHandlerFilterChain ) filter ).parent !=3D n= ull ) - { - throw new IllegalArgumentException( "This interceptor chai= n has its parent already." ); - } - } } =20 - public void sessionOpened( NextFilter nextFilter, IoSession session ) + public void sessionOpened( IoSession session ) { Entry head =3D this.head; callNextSessionOpened(head, session); @@ -413,11 +257,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void sessionClosed( NextFilter nextFilter, IoSession session ) + public void sessionClosed( IoSession session ) { Entry head =3D this.head; callNextSessionClosed(head, session); @@ -432,11 +276,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void sessionIdle( NextFilter nextFilter, IoSession session, Idl= eStatus status ) + public void sessionIdle( IoSession session, IdleStatus status ) { Entry head =3D this.head; callNextSessionIdle(head, session, status); @@ -452,11 +296,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void dataRead( NextFilter nextFilter, IoSession session, ByteBu= ffer buf ) + public void dataRead( IoSession session, ByteBuffer buf ) { Entry head =3D this.head; callNextDataRead(head, session, buf); @@ -472,11 +316,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void dataWritten( NextFilter nextFilter, IoSession session, Obj= ect marker ) + public void dataWritten( IoSession session, Object marker ) { Entry head =3D this.head; callNextDataWritten(head, session, marker); @@ -492,11 +336,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void exceptionCaught( NextFilter nextFilter, IoSession session,= Throwable cause ) + public void exceptionCaught( IoSession session, Throwable cause ) { Entry head =3D this.head; callNextExceptionCaught(head, session, cause); @@ -516,8 +360,7 @@ } } =20 - public void filterWrite( NextFilter nextFilter, - IoSession session, ByteBuffer buf, Object mar= ker ) + public void filterWrite( IoSession session, ByteBuffer buf, Object mar= ker ) { Entry tail =3D this.tail; callPreviousFilterWrite( tail, session, buf, marker ); @@ -538,7 +381,7 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 @@ -565,18 +408,6 @@ e =3D e.prevEntry; } return list; - } - =20 - private void fireExceptionCaught( IoSession session, Throwable cause ) - { - try - { - getRoot().exceptionCaught( null, session, cause ); - } - catch( Throwable t ) - { - t.printStackTrace(); - } } =20 protected abstract void doWrite( IoSession session, ByteBuffer buffer,= Object marker ); Modified: directory/network/trunk/src/java/org/apache/mina/io/IoAcceptor.ja= va URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/IoAcceptor.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/IoAcceptor.java (or= iginal) +++ directory/network/trunk/src/java/org/apache/mina/io/IoAcceptor.java Fri= Mar 25 05:43:18 2005 @@ -62,8 +62,6 @@ */ void unbind( SocketAddress address ); =20 - IoHandlerFilterChain newFilterChain(); - =20 IoHandlerFilterChain getFilterChain(); =20 /** Modified: directory/network/trunk/src/java/org/apache/mina/io/IoConnector.j= ava URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/IoConnector.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/IoConnector.java (o= riginal) +++ directory/network/trunk/src/java/org/apache/mina/io/IoConnector.java Fr= i Mar 25 05:43:18 2005 @@ -69,8 +69,6 @@ IoSession connect( SocketAddress address, int timeout, IoHandler handl= er ) throws IOException; =20 - IoHandlerFilterChain newFilterChain(); - =20 IoHandlerFilterChain getFilterChain(); =20 /** Modified: directory/network/trunk/src/java/org/apache/mina/io/IoHandlerFilt= erChain.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/IoHandlerFilterChain.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/IoHandlerFilterChai= n=2Ejava (original) +++ directory/network/trunk/src/java/org/apache/mina/io/IoHandlerFilterChai= n=2Ejava Fri Mar 25 05:43:18 2005 @@ -3,12 +3,7 @@ import java.util.List; =20 =20 -public interface IoHandlerFilterChain extends IoHandlerFilter { - static String NEXT_FILTER =3D "nextFilter"; - =20 - IoHandlerFilterChain getRoot(); - IoHandlerFilterChain getParent(); - +public interface IoHandlerFilterChain { IoHandlerFilter getChild( String name ); List getChildren(); List getChildrenReversed(); Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/Data= gramAcceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/datagram/DatagramAcceptor.java?view=3Ddiff&r1=3D159008&r2=3D159= 009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java Fri Mar 25 05:43:18 2005 @@ -47,7 +47,7 @@ { private static volatile int nextId =3D 0; =20 - private final DatagramFilterChain filters =3D new DatagramFilterChain(= true, this ); + private final DatagramFilterChain filters =3D new DatagramFilterChain(= this ); =20 private final int id =3D nextId ++ ; =20 @@ -300,12 +300,12 @@ newBuf.flip(); =20 session.increaseReadBytes( newBuf.remaining() ); - filters.dataRead( null, session, newBuf ); + filters.dataRead( session, newBuf ); } } catch( IOException e ) { - filters.exceptionCaught( null, session, e ); + filters.exceptionCaught( session, e ); } finally { @@ -336,7 +336,7 @@ } catch( IOException e ) { - session.getFilters().exceptionCaught( null, session, e ); + session.getFilters().exceptionCaught( session, e ); } } } @@ -376,11 +376,10 @@ } catch( IllegalStateException e ) { - session.getFilters().exceptionCaught( null, session, - e ); + session.getFilters().exceptionCaught( session, e ); } =20 - session.getFilters().dataWritten( null, session, marker ); + session.getFilters().dataWritten( session, marker ); continue; } =20 @@ -406,7 +405,7 @@ } =20 session.increaseWrittenBytes( writtenBytes ); - session.getFilters().dataWritten( null, session, marker ); + session.getFilters().dataWritten( session, marker ); } } } @@ -511,11 +510,6 @@ } } } - } - =20 - public IoHandlerFilterChain newFilterChain() - { - return new DatagramFilterChain( false, this ); } =20 public IoHandlerFilterChain getFilterChain() Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/Data= gramConnector.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/datagram/DatagramConnector.java?view=3Ddiff&r1=3D159008&r2=3D15= 9009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramCo= nnector.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramCo= nnector.java Fri Mar 25 05:43:18 2005 @@ -48,7 +48,7 @@ { private static volatile int nextId =3D 0; =20 - private final DatagramFilterChain filters =3D new DatagramFilterChain(= true, this ); + private final DatagramFilterChain filters =3D new DatagramFilterChain(= this ); =20 private final int id =3D nextId ++ ; =20 @@ -255,12 +255,12 @@ newBuf.put( readBuf ); newBuf.flip(); =20 - filters.dataRead( null, session, newBuf ); + filters.dataRead( session, newBuf ); } } catch( IOException e ) { - filters.exceptionCaught( null, session, e ); + filters.exceptionCaught( session, e ); } finally { @@ -291,7 +291,7 @@ } catch( IOException e ) { - session.getFilters().exceptionCaught( null, session, e ); + session.getFilters().exceptionCaught( session, e ); } } } @@ -331,11 +331,10 @@ } catch( IllegalStateException e ) { - session.getFilters().exceptionCaught( null, session, - e ); + session.getFilters().exceptionCaught( session, e ); } =20 - session.getFilters().dataWritten( null, session, marker ); + session.getFilters().dataWritten( session, marker ); continue; } =20 @@ -358,7 +357,7 @@ writeBufferQueue.pop(); writeMarkerQueue.pop(); } - session.getFilters().dataWritten( null, session, marker ); + session.getFilters().dataWritten( session, marker ); } } } @@ -426,11 +425,6 @@ } } =20 - public IoHandlerFilterChain newFilterChain() - { - return new DatagramFilterChain( false, this ); - } - =20 public IoHandlerFilterChain getFilterChain() { return filters; Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/Data= gramFilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/datagram/DatagramFilterChain.java?view=3Ddiff&r1=3D159008&r2=3D= 159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramFi= lterChain.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramFi= lterChain.java Fri Mar 25 05:43:18 2005 @@ -9,9 +9,8 @@ =20 private final DatagramProcessor processor; =20 - DatagramFilterChain( boolean root, DatagramProcessor processor ) + DatagramFilterChain( DatagramProcessor processor ) { - super( root ); this.processor =3D processor; } =20 Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/Data= gramSession.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/datagram/DatagramSession.java?view=3Ddiff&r1=3D159008&r2=3D1590= 09 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramSe= ssion.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramSe= ssion.java Fri Mar 25 05:43:18 2005 @@ -139,7 +139,7 @@ =20 public void write( ByteBuffer buf, Object marker ) { - filters.filterWrite( null, this, buf, marker ); + filters.filterWrite( this, buf, marker ); } =20 public TransportType getTransportType() Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/Socket= Acceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/socket/SocketAcceptor.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java Fri Mar 25 05:43:18 2005 @@ -49,7 +49,7 @@ { private static volatile int nextId =3D 0; =20 - private final SocketFilterChain filters =3D new SocketFilterChain( tru= e ); + private final SocketFilterChain filters =3D new SocketFilterChain(); =20 private final int id =3D nextId ++ ; =20 @@ -422,18 +422,10 @@ } } =20 - - public IoHandlerFilterChain newFilterChain() - { - return new SocketFilterChain( false ); - } - - public IoHandlerFilterChain getFilterChain() { return filters; } - =20 private static class RegistrationRequest { Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/Socket= Connector.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/socket/SocketConnector.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketConnec= tor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketConnec= tor.java Fri Mar 25 05:43:18 2005 @@ -48,7 +48,7 @@ =20 private final int id =3D nextId++; =20 - private final SocketFilterChain filters =3D new SocketFilterChain( tru= e ); + private final SocketFilterChain filters =3D new SocketFilterChain(); =20 private final Selector selector; =20 @@ -328,11 +328,6 @@ } } =20 - public IoHandlerFilterChain newFilterChain() - { - return new SocketFilterChain( false ); - } - =20 public IoHandlerFilterChain getFilterChain() { return filters; Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/Socket= FilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/socket/SocketFilterChain.java?view=3Ddiff&r1=3D159008&r2=3D1590= 09 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketFilter= Chain.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketFilter= Chain.java Fri Mar 25 05:43:18 2005 @@ -7,9 +7,8 @@ =20 class SocketFilterChain extends AbstractIoHandlerFilterChain { =20 - SocketFilterChain( boolean root ) + SocketFilterChain() { - super( root ); } =20 protected void doWrite( IoSession session, ByteBuffer buf, Object mark= er ) Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/Socket= IoProcessor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/socket/SocketIoProcessor.java?view=3Ddiff&r1=3D159008&r2=3D1590= 09 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProc= essor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProc= essor.java Fri Mar 25 05:43:18 2005 @@ -161,12 +161,12 @@ catch( IOException e ) { registered =3D false; - session.getFilters().exceptionCaught( null, session, e ); + session.getFilters().exceptionCaught( session, e ); } =20 if( registered ) { - session.getFilters().sessionOpened( null, session ); + session.getFilters().sessionOpened( session ); } } } @@ -198,11 +198,11 @@ } catch( IOException e ) { - session.getFilters().exceptionCaught( null, session, e ); + session.getFilters().exceptionCaught( session, e ); } finally { - session.getFilters().sessionClosed( null, session ); + session.getFilters().sessionClosed( session ); } } } @@ -267,7 +267,7 @@ ByteBuffer newBuf =3D ByteBuffer.allocate( readBytes )= ; newBuf.put( buf ); newBuf.flip(); - session.getFilters().dataRead( null, session, newBuf )= ; + session.getFilters().dataRead( session, newBuf ); } } else @@ -279,7 +279,7 @@ { if( e instanceof IOException ) scheduleRemove( session ); - session.getFilters().exceptionCaught( null, session, e ); + session.getFilters().exceptionCaught( session, e ); } finally { @@ -353,7 +353,7 @@ && ( currentTime - lastIoTime ) >=3D idleTime ) { session.setIdle( status, true ); - session.getFilters().sessionIdle( null, session, status ); + session.getFilters().sessionIdle( session, status ); } } =20 @@ -367,7 +367,7 @@ { session .getFilters() - .exceptionCaught( null, session, new WriteTimeoutExcep= tion() ); + .exceptionCaught( session, new WriteTimeoutException()= ); } } =20 @@ -398,7 +398,7 @@ catch( IOException e ) { scheduleRemove( session ); - session.getFilters().exceptionCaught( null, session, e ); + session.getFilters().exceptionCaught( session, e ); } } } @@ -436,11 +436,10 @@ } catch( IllegalStateException e ) { - session.getFilters().exceptionCaught( null, session, - e ); + session.getFilters().exceptionCaught( session, e ); } =20 - session.getFilters().dataWritten( null, session, marker ); + session.getFilters().dataWritten( session, marker ); continue; } =20 Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/Socket= Session.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/socket/SocketSession.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketSessio= n=2Ejava (original) +++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketSessio= n=2Ejava Fri Mar 25 05:43:18 2005 @@ -27,7 +27,6 @@ import org.apache.mina.common.SessionConfig; import org.apache.mina.common.TransportType; import org.apache.mina.io.IoHandler; -import org.apache.mina.io.IoHandlerFilterChain; import org.apache.mina.io.IoSession; import org.apache.mina.util.Queue; =20 @@ -41,7 +40,7 @@ { private static final int DEFAULT_READ_BUFFER_SIZE =3D 1024; =20 - private final IoHandlerFilterChain filters; + private final SocketFilterChain filters; =20 private final SocketChannel ch; =20 @@ -82,7 +81,7 @@ /** * Creates a new instance. */ - SocketSession( IoHandlerFilterChain filters, SocketChannel ch, + SocketSession( SocketFilterChain filters, SocketChannel ch, IoHandler defaultHandler ) { this.filters =3D filters; @@ -96,7 +95,7 @@ this.localAddress =3D ch.socket().getLocalSocketAddress(); } =20 - IoHandlerFilterChain getFilters() + SocketFilterChain getFilters() { return filters; } @@ -169,7 +168,7 @@ =20 public void write( ByteBuffer buf, Object marker ) { - filters.filterWrite( null, this, buf, marker ); + filters.filterWrite( this, buf, marker ); } =20 public TransportType getTransportType() Modified: directory/network/trunk/src/java/org/apache/mina/protocol/Abstrac= tProtocolHandlerFilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/AbstractProtocolHandlerFilterChain.java?view=3Ddiff&r1=3D= 159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProto= colHandlerFilterChain.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProto= colHandlerFilterChain.java Fri Mar 25 05:43:18 2005 @@ -8,6 +8,7 @@ import java.util.Map; =20 import org.apache.mina.common.IdleStatus; +import org.apache.mina.protocol.ProtocolHandlerFilter.NextFilter; =20 public abstract class AbstractProtocolHandlerFilterChain implements Protoc= olHandlerFilterChain { @@ -50,89 +51,7 @@ public void filterWrite( NextFilter nextFilter, ProtocolSession se= ssion, Object message ) { - if( parent =3D=3D null ) - { - // write only when root filter chain traversal is finished= . - doWrite( session, message ); - } - } - }; - =20 - private final ProtocolHandlerFilter NEXT_FILTER =3D new ProtocolHandle= rFilter() - { - public void sessionOpened( NextFilter nextFilter, ProtocolSession = session ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractPro= tocolHandlerFilterChain.this ); - e.nextFilter.sessionOpened( session ); - } - nextFilter.sessionOpened( session ); - } - - public void sessionClosed( NextFilter nextFilter, ProtocolSession = session ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractPro= tocolHandlerFilterChain.this ); - e.nextFilter.sessionClosed( session ); - } - nextFilter.sessionClosed( session ); - } - - public void sessionIdle( NextFilter nextFilter, ProtocolSession se= ssion, - IdleStatus status ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractPro= tocolHandlerFilterChain.this ); - e.nextFilter.sessionIdle( session, status ); - } - nextFilter.sessionIdle( session, status ); - } - - public void exceptionCaught( NextFilter nextFilter, - ProtocolSession session, Throwable cau= se ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractPro= tocolHandlerFilterChain.this ); - e.nextFilter.exceptionCaught( session, cause ); - } - nextFilter.exceptionCaught( session, cause ); - } - - public void messageReceived( NextFilter nextFilter, ProtocolSessio= n session, - Object message ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractPro= tocolHandlerFilterChain.this ); - e.nextFilter.messageReceived( session, message ); - } - nextFilter.messageReceived( session, message ); - } - - public void messageSent( NextFilter nextFilter, ProtocolSession se= ssion, - Object message ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractPro= tocolHandlerFilterChain.this ); - e.nextFilter.messageSent( session, message ); - } - nextFilter.messageSent( session, message ); - } - =20 - public void filterWrite( NextFilter nextFilter, ProtocolSession se= ssion, - Object message ) - { - if( parent !=3D null ) - { - Entry e =3D ( Entry ) parent.filter2entry.get( AbstractPro= tocolHandlerFilterChain.this ); - e.prevFilter.filterWrite( session, message ); - } - nextFilter.filterWrite( session, message ); + doWrite( session, message ); } }; =20 @@ -140,55 +59,37 @@ { public void sessionOpened( NextFilter nextFilter, ProtocolSession = session ) { - if( parent =3D=3D null ) - { - session.getHandler().sessionOpened( session ); - } + session.getHandler().sessionOpened( session ); } =20 public void sessionClosed( NextFilter nextFilter, ProtocolSession = session ) { - if( parent =3D=3D null ) - { - session.getHandler().sessionClosed( session ); - } + session.getHandler().sessionClosed( session ); } =20 public void sessionIdle( NextFilter nextFilter, ProtocolSession se= ssion, IdleStatus status ) { - if( parent =3D=3D null ) - { - session.getHandler().sessionIdle( session, status ); - } + session.getHandler().sessionIdle( session, status ); } =20 public void exceptionCaught( NextFilter nextFilter, ProtocolSession session, Throwable cau= se ) { - if( parent =3D=3D null ) - { - session.getHandler().exceptionCaught( session, cause ); - } + session.getHandler().exceptionCaught( session, cause ); } =20 public void messageReceived( NextFilter nextFilter, ProtocolSessio= n session, Object message ) { - if( parent =3D=3D null ) - { - ProtocolHandler handler =3D session.getHandler(); - handler.messageReceived( session, message ); - } + ProtocolHandler handler =3D session.getHandler(); + handler.messageReceived( session, message ); } =20 public void messageSent( NextFilter nextFilter, ProtocolSession se= ssion, Object message ) { - if( parent =3D=3D null ) - { - session.getHandler().messageSent( session, message ); - } + session.getHandler().messageSent( session, message ); } =20 public void filterWrite( NextFilter nextFilter, @@ -198,10 +99,6 @@ } }; =20 - private final boolean root; - =20 - private AbstractProtocolHandlerFilterChain parent; - =20 private final Map name2entry =3D new HashMap(); =20 private final Map filter2entry =3D new IdentityHashMap(); @@ -210,33 +107,11 @@ =20 private final Entry tail; =20 - protected AbstractProtocolHandlerFilterChain( boolean root ) + protected AbstractProtocolHandlerFilterChain() { - this.root =3D root; - =20 head =3D new Entry( null, null, "head", HEAD_FILTER ); tail =3D new Entry( head, null, "tail", TAIL_FILTER ); head.nextEntry =3D tail; - =20 - if( !root ) - { - register( head, ProtocolHandlerFilterChain.NEXT_FILTER, NEXT_F= ILTER ); - } - } - =20 - public ProtocolHandlerFilterChain getRoot() - { - AbstractProtocolHandlerFilterChain current =3D this; - while( current.parent !=3D null ) - { - current =3D current.parent; - } - return current; - } - =20 - public ProtocolHandlerFilterChain getParent() - { - return parent; } =20 public ProtocolHandlerFilter getChild( String name ) @@ -255,7 +130,7 @@ public synchronized void addFirst( String name, ProtocolHandlerFilter filter ) { - checkAddable( name, filter ); + checkAddable( name ); register( head, name, filter ); } =20 @@ -266,7 +141,7 @@ public synchronized void addLast( String name, ProtocolHandlerFilter filter ) { - checkAddable( name, filter ); + checkAddable( name ); register( tail.prevEntry, name, filter ); } =20 @@ -280,7 +155,7 @@ ProtocolHandlerFilter filter ) { Entry baseEntry =3D checkOldName( baseName ); - checkAddable( name, filter ); + checkAddable( name ); register( baseEntry, name, filter ); } =20 @@ -294,7 +169,7 @@ ProtocolHandlerFilter filter ) { Entry baseEntry =3D checkOldName( baseName ); - checkAddable( name, filter ); + checkAddable( name ); register( baseEntry.prevEntry, name, filter ); } =20 @@ -313,10 +188,6 @@ name2entry.remove( name ); ProtocolHandlerFilter filter =3D entry.filter; filter2entry.remove( filter ); - if ( filter instanceof AbstractProtocolHandlerFilterChain ) - { - ( ( AbstractProtocolHandlerFilterChain ) filter ).parent =3D n= ull; - } } =20 =20 @@ -334,23 +205,6 @@ =20 private void register( Entry prevEntry, String name, ProtocolHandlerFi= lter filter ) { - if ( filter instanceof AbstractProtocolHandlerFilterChain ) - { - if( !this.getClass().isAssignableFrom( filter.getClass() ) ) - { - throw new IllegalArgumentException( "Incompatible chain" )= ; - } - if( ( ( AbstractProtocolHandlerFilterChain ) filter ).root ) - { - throw new IllegalArgumentException( "Root chain cannot be = added." ); - } - if( ( ( AbstractProtocolHandlerFilterChain ) filter ).parent != =3D null ) - { - throw new IllegalArgumentException( "Already added to othe= r parent chain." ); - } - - ( ( AbstractProtocolHandlerFilterChain ) filter ).parent =3D t= his; - } Entry newEntry =3D new Entry( prevEntry, prevEntry.nextEntry, name= , filter ); prevEntry.nextEntry.prevEntry =3D newEntry; prevEntry.nextEntry =3D newEntry; @@ -378,23 +232,15 @@ /** * Checks the specified interceptor name is already taken and throws a= n exception if already taken. */ - private void checkAddable( String name, ProtocolHandlerFilter filter ) + private void checkAddable( String name ) { if ( name2entry.containsKey( name ) ) { throw new IllegalArgumentException( "Other interceptor is usin= g name '" + name + "'" ); } - - if ( filter instanceof AbstractProtocolHandlerFilterChain ) - { - if ( ( ( AbstractProtocolHandlerFilterChain ) filter ).parent = !=3D null ) - { - throw new IllegalArgumentException( "This interceptor chai= n has its parent already." ); - } - } } =20 - public void sessionOpened( NextFilter nextFilter, ProtocolSession sess= ion ) + public void sessionOpened( ProtocolSession session ) { Entry head =3D this.head; callNextSessionOpened(head, session); @@ -409,11 +255,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void sessionClosed( NextFilter nextFilter, ProtocolSession sess= ion ) + public void sessionClosed( ProtocolSession session ) { Entry head =3D this.head; callNextSessionClosed(head, session); @@ -429,11 +275,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void sessionIdle( NextFilter nextFilter, ProtocolSession sessio= n, IdleStatus status ) + public void sessionIdle( ProtocolSession session, IdleStatus status ) { Entry head =3D this.head; callNextSessionIdle(head, session, status); @@ -449,11 +295,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void messageReceived( NextFilter nextFilter, ProtocolSession se= ssion, Object message ) + public void messageReceived( ProtocolSession session, Object message ) { Entry head =3D this.head; callNextMessageReceived(head, session, message ); @@ -469,11 +315,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void messageSent( NextFilter nextFilter, ProtocolSession sessio= n, Object message ) + public void messageSent( ProtocolSession session, Object message ) { Entry head =3D this.head; callNextMessageSent(head, session, message); @@ -489,11 +335,11 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 - public void exceptionCaught( NextFilter nextFilter, ProtocolSession se= ssion, Throwable cause ) + public void exceptionCaught( ProtocolSession session, Throwable cause = ) { Entry head =3D this.head; callNextExceptionCaught(head, session, cause); @@ -513,8 +359,7 @@ } } =20 - public void filterWrite( NextFilter nextFilter, - ProtocolSession session, Object message ) + public void filterWrite( ProtocolSession session, Object message ) { Entry tail =3D this.tail; callPreviousFilterWrite( tail, session, message ); @@ -535,7 +380,7 @@ } catch( Throwable e ) { - fireExceptionCaught( session, e ); + exceptionCaught( session, e ); } } =20 @@ -562,18 +407,6 @@ e =3D e.prevEntry; } return list; - } - =20 - private void fireExceptionCaught( ProtocolSession session, Throwable c= ause ) - { - try - { - getRoot().exceptionCaught( null, session, cause ); - } - catch( Throwable t ) - { - t.printStackTrace(); - } } =20 protected abstract void doWrite( ProtocolSession session, Object messa= ge ); Modified: directory/network/trunk/src/java/org/apache/mina/protocol/Protoco= lAcceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/ProtocolAcceptor.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolAccep= tor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolAccep= tor.java Fri Mar 25 05:43:18 2005 @@ -59,7 +59,5 @@ */ void unbind( SocketAddress address ); =20 - ProtocolHandlerFilterChain newFilterChain(); - =20 ProtocolHandlerFilterChain getFilterChain(); } Modified: directory/network/trunk/src/java/org/apache/mina/protocol/Protoco= lConnector.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/ProtocolConnector.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolConne= ctor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolConne= ctor.java Fri Mar 25 05:43:18 2005 @@ -67,7 +67,5 @@ ProtocolProvider protocolProvider ) throws IOException; =20 - ProtocolHandlerFilterChain newFilterChain(); - =20 ProtocolHandlerFilterChain getFilterChain(); } Modified: directory/network/trunk/src/java/org/apache/mina/protocol/Protoco= lHandlerFilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/ProtocolHandlerFilterChain.java?view=3Ddiff&r1=3D159008&r= 2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolHandl= erFilterChain.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolHandl= erFilterChain.java Fri Mar 25 05:43:18 2005 @@ -3,12 +3,7 @@ import java.util.List; =20 =20 -public interface ProtocolHandlerFilterChain extends ProtocolHandlerFilter = { - static String NEXT_FILTER =3D "nextFilter"; - =20 - ProtocolHandlerFilterChain getRoot(); - ProtocolHandlerFilterChain getParent(); - +public interface ProtocolHandlerFilterChain { ProtocolHandlerFilter getChild( String name ); List getChildren(); List getChildrenReversed(); Modified: directory/network/trunk/src/java/org/apache/mina/protocol/io/IoAd= apter.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/io/IoAdapter.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/io/IoAdapter.= java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/io/IoAdapter.= java Fri Mar 25 05:43:18 2005 @@ -52,17 +52,12 @@ */ public class IoAdapter { - private final IoProtocolFilterChain filters =3D new IoProtocolFilterCh= ain( true ); + private final IoProtocolFilterChain filters =3D new IoProtocolFilterCh= ain(); =20 IoAdapter() { } =20 - public ProtocolHandlerFilterChain newFilterChain() - { - return new IoProtocolFilterChain( false ); - } - =20 public ProtocolHandlerFilterChain getFilterChain() { return filters; @@ -109,24 +104,22 @@ =20 public void sessionOpened( IoSession session ) { - filters.sessionOpened( null, getProtocolSession( session ) ); + filters.sessionOpened( getProtocolSession( session ) ); } =20 public void sessionClosed( IoSession session ) { - filters.sessionClosed( null, getProtocolSession( session ) ); + filters.sessionClosed( getProtocolSession( session ) ); } =20 public void sessionIdle( IoSession session, IdleStatus status ) { - filters.sessionIdle( null, getProtocolSession( session ), - status ); + filters.sessionIdle( getProtocolSession( session ), status ); } =20 public void exceptionCaught( IoSession session, Throwable cause ) { - filters.exceptionCaught( null, getProtocolSession( session ), - cause ); + filters.exceptionCaught( getProtocolSession( session ), cause = ); } =20 public void dataRead( IoSession session, ByteBuffer in ) @@ -147,8 +140,7 @@ { do { - filters.messageReceived( null, psession, - queue.pop() ); + filters.messageReceived( psession, queue.pop()= ); } while( !queue.isEmpty() ); } @@ -157,11 +149,11 @@ catch( ProtocolViolationException pve ) { pve.setBuffer( in ); - filters.exceptionCaught( null, psession, pve ); + filters.exceptionCaught( psession, pve ); } catch( Throwable t ) { - filters.exceptionCaught( null, psession, t ); + filters.exceptionCaught( psession, t ); } } =20 @@ -169,8 +161,8 @@ { if( marker =3D=3D null ) return; - filters.messageSent( null, ( ProtocolSession ) session - .getAttachment(), marker ); + filters.messageSent(=20 + ( ProtocolSession ) session.getAttachment(), marker ); } =20 void doWrite( IoSession session ) @@ -211,7 +203,7 @@ } catch( Throwable t ) { - filters.exceptionCaught( null, psession, t ); + filters.exceptionCaught( psession, t ); } } =20 @@ -298,7 +290,7 @@ =20 public void write( Object message ) { - filters.filterWrite( null, this, message ); + filters.filterWrite( this, message ); } =20 public TransportType getTransportType() Modified: directory/network/trunk/src/java/org/apache/mina/protocol/io/IoPr= otocolAcceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/io/IoProtocolAcceptor.java?view=3Ddiff&r1=3D159008&r2=3D1= 59009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= Acceptor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= Acceptor.java Fri Mar 25 05:43:18 2005 @@ -55,11 +55,6 @@ acceptor.unbind( address ); } =20 - public ProtocolHandlerFilterChain newFilterChain() - { - return adapter.newFilterChain(); - } - public ProtocolHandlerFilterChain getFilterChain() { return adapter.getFilterChain(); Modified: directory/network/trunk/src/java/org/apache/mina/protocol/io/IoPr= otocolConnector.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/io/IoProtocolConnector.java?view=3Ddiff&r1=3D159008&r2=3D= 159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= Connector.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= Connector.java Fri Mar 25 05:43:18 2005 @@ -63,11 +63,6 @@ return adapter.toProtocolSession( session ); } =20 - public ProtocolHandlerFilterChain newFilterChain() - { - return adapter.newFilterChain(); - } - public ProtocolHandlerFilterChain getFilterChain() { return adapter.getFilterChain(); Modified: directory/network/trunk/src/java/org/apache/mina/protocol/io/IoPr= otocolFilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/io/IoProtocolFilterChain.java?view=3Ddiff&r1=3D159008&r2= =3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= FilterChain.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocol= FilterChain.java Fri Mar 25 05:43:18 2005 @@ -7,11 +7,12 @@ =20 class IoProtocolFilterChain extends AbstractProtocolHandlerFilterChain { =20 - IoProtocolFilterChain( boolean root ) { - super( root ); + IoProtocolFilterChain() + { } =20 - protected void doWrite(ProtocolSession session, Object message) { + protected void doWrite( ProtocolSession session, Object message ) + { ProtocolSessionImpl s =3D ( ProtocolSessionImpl ) session; Queue writeQueue =3D s.writeQueue; synchronized( writeQueue ) Modified: directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/= VmPipeAcceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/vmpipe/VmPipeAcceptor.java?view=3Ddiff&r1=3D159008&r2=3D1= 59009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Acceptor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Acceptor.java Fri Mar 25 05:43:18 2005 @@ -24,7 +24,7 @@ { static final Map boundHandlers =3D new HashMap(); =20 - private final VmPipeFilterChain filters =3D new VmPipeFilterChain( tru= e ); + private final VmPipeFilterChain filters =3D new VmPipeFilterChain(); =20 /** * Creates a new instance. @@ -68,11 +68,6 @@ } } =20 - public ProtocolHandlerFilterChain newFilterChain() - { - return new VmPipeFilterChain( false ); - } - =20 public ProtocolHandlerFilterChain getFilterChain() { return filters; @@ -82,13 +77,13 @@ { final VmPipeAddress address; =20 - final ProtocolHandlerFilterChain filters; + final VmPipeFilterChain filters; =20 final ProtocolHandler handler; =20 private Entry( VmPipeAddress address, - ProtocolHandlerFilterChain filters, - ProtocolHandler handler ) + VmPipeFilterChain filters, + ProtocolHandler handler ) { this.address =3D address; this.filters =3D filters; Modified: directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/= VmPipeConnector.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/vmpipe/VmPipeConnector.java?view=3Ddiff&r1=3D159008&r2=3D= 159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Connector.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Connector.java Fri Mar 25 05:43:18 2005 @@ -21,7 +21,7 @@ */ public class VmPipeConnector implements ProtocolConnector { - private final VmPipeFilterChain filters =3D new VmPipeFilterChain( tru= e ); + private final VmPipeFilterChain filters =3D new VmPipeFilterChain(); =20 /** * Creates a new instance. @@ -29,11 +29,6 @@ public VmPipeConnector() { filters.addLast( "VMPipe", new VmPipeFilter() ); - } - =20 - public ProtocolHandlerFilterChain newFilterChain() - { - return new VmPipeFilterChain( false ); } =20 public ProtocolHandlerFilterChain getFilterChain() Modified: directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/= VmPipeFilter.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/vmpipe/VmPipeFilter.java?view=3Ddiff&r1=3D159008&r2=3D159= 009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Filter.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Filter.java Fri Mar 25 05:43:18 2005 @@ -16,7 +16,7 @@ class VmPipeFilter extends ProtocolHandlerFilterAdapter { public void messageReceived( ProtocolHandler nextHandler, - ProtocolSession session, Object message ) + ProtocolSession session, Object message ) { VmPipeSession vps =3D ( VmPipeSession ) session; =20 @@ -24,7 +24,7 @@ vps.lastReadTime =3D System.currentTimeMillis(); =20 // fire messageSent event first - vps.remoteFilters.messageSent( null, vps.remoteSession, message ); + vps.remoteFilters.messageSent( vps.remoteSession, message ); =20 // and then messageReceived nextHandler.messageReceived( session, message ); Modified: directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/= VmPipeFilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/vmpipe/VmPipeFilterChain.java?view=3Ddiff&r1=3D159008&r2= =3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= FilterChain.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= FilterChain.java Fri Mar 25 05:43:18 2005 @@ -5,9 +5,8 @@ =20 class VmPipeFilterChain extends AbstractProtocolHandlerFilterChain { =20 - VmPipeFilterChain( boolean root ) + VmPipeFilterChain() { - super( root ); } =20 protected void doWrite(ProtocolSession session, Object message) @@ -18,8 +17,7 @@ { if( s.closed ) throw new IllegalStateException( "Session is closed." ); - s.remoteFilters.messageReceived( null, - s.remoteSession, message ); + s.remoteFilters.messageReceived( s.remoteSession, message ); } } } Modified: directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/= VmPipeIdleStatusChecker.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/vmpipe/VmPipeIdleStatusChecker.java?view=3Ddiff&r1=3D1590= 08&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= IdleStatusChecker.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= IdleStatusChecker.java Fri Mar 25 05:43:18 2005 @@ -82,8 +82,7 @@ && ( currentTime - sess= ion.lastReadTime ) > idleTime; if( session.bothIdle ) session.localFilters - .sessionIdle( null, - session, + .sessionIdle( session, IdleStatus.BOTH_= IDLE ); } =20 @@ -95,8 +94,7 @@ && ( currentTime - se= ssion.lastReadTime ) > idleTime; if( session.readerIdle ) session.localFilters - .sessionIdle( null, - session, + .sessionIdle( session, IdleStatus.READE= R_IDLE ); } =20 @@ -108,8 +106,7 @@ && ( currentTime - se= ssion.lastReadTime ) > idleTime; if( session.writerIdle ) session.localFilters - .sessionIdle( null, - session, + .sessionIdle( session, IdleStatus.WRITE= R_IDLE ); } } Modified: directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/= VmPipeSession.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/protocol/vmpipe/VmPipeSession.java?view=3Ddiff&r1=3D159008&r2=3D15= 9009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Session.java (original) +++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipe= Session.java Fri Mar 25 05:43:18 2005 @@ -11,7 +11,6 @@ import org.apache.mina.protocol.ProtocolDecoder; import org.apache.mina.protocol.ProtocolEncoder; import org.apache.mina.protocol.ProtocolHandler; -import org.apache.mina.protocol.ProtocolHandlerFilterChain; import org.apache.mina.protocol.ProtocolSession; =20 /** @@ -30,9 +29,9 @@ =20 private final VmPipeSessionConfig config =3D new VmPipeSessionConfig()= ; =20 - final ProtocolHandlerFilterChain localFilters; + final VmPipeFilterChain localFilters; =20 - final ProtocolHandlerFilterChain remoteFilters; + final VmPipeFilterChain remoteFilters; =20 final VmPipeSession remoteSession; =20 @@ -57,9 +56,9 @@ */ VmPipeSession( Object lock, SocketAddress localAddress, SocketAddress remoteAddress, - ProtocolHandlerFilterChain localFilters, + VmPipeFilterChain localFilters, ProtocolHandler localHandler, - ProtocolHandlerFilterChain removeFilters, + VmPipeFilterChain removeFilters, ProtocolHandler remoteHandler ) { this.lock =3D lock; @@ -71,8 +70,8 @@ =20 remoteSession =3D new VmPipeSession( this, remoteHandler ); =20 - removeFilters.sessionOpened( null, remoteSession ); - localFilters.sessionOpened( null, this ); + removeFilters.sessionOpened( remoteSession ); + localFilters.sessionOpened( this ); } =20 /** @@ -113,8 +112,8 @@ return; =20 closed =3D remoteSession.closed =3D true; - localFilters.sessionClosed( null, this ); - remoteFilters.sessionClosed( null, remoteSession ); + localFilters.sessionClosed( this ); + remoteFilters.sessionClosed( remoteSession ); } } =20 @@ -130,7 +129,7 @@ =20 public void write( Object message ) { - localFilters.filterWrite( null, this, message ); + localFilters.filterWrite( this, message ); } =20 public TransportType getTransportType() Modified: directory/network/trunk/src/java/org/apache/mina/registry/Service= Registry.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/registry/ServiceRegistry.java?view=3Ddiff&r1=3D159008&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegist= ry.java (original) +++ directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegist= ry.java Fri Mar 25 05:43:18 2005 @@ -55,11 +55,7 @@ */ void unbind( Service service ); =20 - IoHandlerFilterChain newIoFilterChain( TransportType transportType ); - =20 IoHandlerFilterChain getIoFilterChain( TransportType transportType ); - =20 - ProtocolHandlerFilterChain newProtocolFilterChain( TransportType trans= portType ); =20 ProtocolHandlerFilterChain getProtocolFilterChain( TransportType trans= portType ); =20 Modified: directory/network/trunk/src/java/org/apache/mina/registry/SimpleS= erviceRegistry.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/registry/SimpleServiceRegistry.java?view=3Ddiff&r1=3D159008&r2=3D1= 59009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/registry/SimpleService= Registry.java (original) +++ directory/network/trunk/src/java/org/apache/mina/registry/SimpleService= Registry.java Fri Mar 25 05:43:18 2005 @@ -117,16 +117,8 @@ stopThreadPools(); } =20 - public IoHandlerFilterChain newIoFilterChain(TransportType transportTy= pe) { - return findIoAcceptor( transportType ).newFilterChain(); - } - public IoHandlerFilterChain getIoFilterChain(TransportType transportTy= pe) { return findIoAcceptor( transportType ).getFilterChain(); - } - - public ProtocolHandlerFilterChain newProtocolFilterChain(TransportType= transportType) { - return findProtocolAcceptor( transportType ).newFilterChain(); } =20 public ProtocolHandlerFilterChain getProtocolFilterChain(TransportType= transportType) { Modified: directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilt= erChainTest.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apa= che/mina/io/IoHandlerFilterChainTest.java?view=3Ddiff&r1=3D159008&r2=3D1590= 09 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilterChai= nTest.java (original) +++ directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilterChai= nTest.java Fri Mar 25 05:43:18 2005 @@ -12,13 +12,13 @@ =20 public class IoHandlerFilterChainTest extends TestCase { - private IoHandlerFilterChain chain; + private IoHandlerFilterChainImpl chain; private IoSession session; private String result; =20 public void setUp() { - chain =3D new IoHandlerFilterChainImpl( true ); + chain =3D new IoHandlerFilterChainImpl(); session =3D new TestSession(); result =3D ""; } @@ -32,7 +32,7 @@ run( "HSO HDR HDW HSI HEC HSC" ); } =20 - public void testSimpleChain() + public void testChained() { chain.addLast( "A", new TestFilter( 'A' ) ); chain.addLast( "B", new TestFilter( 'B' ) ); @@ -44,32 +44,14 @@ "ASC BSC HSC" ); } =20 - public void testNestedChain() - { - IoHandlerFilterChainImpl childChain =3D new IoHandlerFilterChainIm= pl( false ); - - chain.addLast( "A", new TestFilter( 'A' ) ); - chain.addLast( "child", childChain ); - chain.addLast( "B", new TestFilter( 'B' ) ); - childChain.addFirst( "C", new TestFilter( 'C' ) ); - childChain.addLast( "D", new TestFilter( 'D' ) ); - =20 - run( "ASO CSO BSO HSO DSO" + - "ADR CDR BDR HDR DDR" + - "BFW DFW AFW ADW CDW BDW HDW DDW CFW" + - "ASI CSI BSI HSI DSI" + - "AEC CEC BEC HEC DEC" + - "ASC CSC BSC HSC DSC" ); - } - =20 private void run( String expectedResult ) { - chain.sessionOpened( null, session ); - chain.dataRead( null, session, ByteBuffer.allocate( 16 ) ); - chain.filterWrite( null, session, ByteBuffer.allocate( 16 ), null = ); - chain.sessionIdle( null, session, IdleStatus.READER_IDLE ); - chain.exceptionCaught( null, session, new Exception() ); - chain.sessionClosed( null, session ); + chain.sessionOpened( session ); + chain.dataRead( session, ByteBuffer.allocate( 16 ) ); + chain.filterWrite( session, ByteBuffer.allocate( 16 ), null ); + chain.sessionIdle( session, IdleStatus.READER_IDLE ); + chain.exceptionCaught( session, new Exception() ); + chain.sessionClosed( session ); =20 result =3D formatResult( result ); expectedResult =3D formatResult( expectedResult ); @@ -253,13 +235,13 @@ =20 private static class IoHandlerFilterChainImpl extends AbstractIoHandle= rFilterChain { - protected IoHandlerFilterChainImpl(boolean root) { - super( root ); + protected IoHandlerFilterChainImpl() + { } =20 protected void doWrite(IoSession session, ByteBuffer buffer, Objec= t marker) { - getRoot().dataWritten( null, session, marker ); + dataWritten( session, marker ); } } =20 Modified: directory/network/trunk/src/test/org/apache/mina/protocol/Protoco= lHandlerFilterChainTest.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apa= che/mina/protocol/ProtocolHandlerFilterChainTest.java?view=3Ddiff&r1=3D1590= 08&r2=3D159009 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolHandl= erFilterChainTest.java (original) +++ directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolHandl= erFilterChainTest.java Fri Mar 25 05:43:18 2005 @@ -11,13 +11,13 @@ =20 public class ProtocolHandlerFilterChainTest extends TestCase { - private ProtocolHandlerFilterChain chain; + private ProtocolHandlerFilterChainImpl chain; private ProtocolSession session; private String result; =20 public void setUp() { - chain =3D new ProtocolHandlerFilterChainImpl( true ); + chain =3D new ProtocolHandlerFilterChainImpl(); session =3D new TestSession(); result =3D ""; } @@ -31,7 +31,7 @@ run( "HSO HMR HMS HSI HEC HSC" ); } =20 - public void testSimpleChain() + public void testChained() { chain.addLast( "A", new TestFilter( 'A' ) ); chain.addLast( "B", new TestFilter( 'B' ) ); @@ -43,32 +43,14 @@ "ASC BSC HSC" ); } =20 - public void testNestedChain() - { - ProtocolHandlerFilterChainImpl childChain =3D new ProtocolHandlerF= ilterChainImpl( false ); - - chain.addLast( "A", new TestFilter( 'A' ) ); - chain.addLast( "child", childChain ); - chain.addLast( "B", new TestFilter( 'B' ) ); - childChain.addFirst( "C", new TestFilter( 'C' ) ); - childChain.addLast( "D", new TestFilter( 'D' ) ); - =20 - run( "ASO CSO BSO HSO DSO" + - "AMR CMR BMR HMR DMR" + - "BFW DFW AFW AMS CMS BMS HMS DMS CFW" + - "ASI CSI BSI HSI DSI" + - "AEC CEC BEC HEC DEC" + - "ASC CSC BSC HSC DSC" ); - } - =20 private void run( String expectedResult ) { - chain.sessionOpened( null, session ); - chain.messageReceived( null, session, new Object() ); - chain.filterWrite( null, session, new Object() ); - chain.sessionIdle( null, session, IdleStatus.READER_IDLE ); - chain.exceptionCaught( null, session, new Exception() ); - chain.sessionClosed( null, session ); + chain.sessionOpened( session ); + chain.messageReceived( session, new Object() ); + chain.filterWrite( session, new Object() ); + chain.sessionIdle( session, IdleStatus.READER_IDLE ); + chain.exceptionCaught( session, new Exception() ); + chain.sessionClosed( session ); =20 result =3D formatResult( result ); expectedResult =3D formatResult( expectedResult ); @@ -244,14 +226,13 @@ =20 private static class ProtocolHandlerFilterChainImpl extends AbstractPr= otocolHandlerFilterChain { - protected ProtocolHandlerFilterChainImpl( boolean root ) + protected ProtocolHandlerFilterChainImpl() { - super( root ); } =20 protected void doWrite( ProtocolSession session, Object message ) { - getRoot().messageSent( null, session, message ); + messageSent( session, message ); } } =20