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/03/25 14:43:24 UTC
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/
Author: trustin
Date: Fri Mar 25 05:43:18 2005
New Revision: 159009
URL: http://svn.apache.org/viewcvs?view=rev&rev=159009
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/AbstractIoHandlerFilterChain.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/IoHandlerFilterChain.java
directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAcceptor.java
directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramConnector.java
directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramFilterChain.java
directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramSession.java
directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAcceptor.java
directory/network/trunk/src/java/org/apache/mina/io/socket/SocketConnector.java
directory/network/trunk/src/java/org/apache/mina/io/socket/SocketFilterChain.java
directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java
directory/network/trunk/src/java/org/apache/mina/io/socket/SocketSession.java
directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java
directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolAcceptor.java
directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolConnector.java
directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolHandlerFilterChain.java
directory/network/trunk/src/java/org/apache/mina/protocol/io/IoAdapter.java
directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolAcceptor.java
directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolConnector.java
directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolFilterChain.java
directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeAcceptor.java
directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeConnector.java
directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeFilter.java
directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeFilterChain.java
directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeIdleStatusChecker.java
directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeSession.java
directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java
directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java
directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilterChainTest.java
directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolHandlerFilterChainTest.java
Modified: directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java Fri Mar 25 05:43:18 2005
@@ -9,6 +9,7 @@
import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.IdleStatus;
+import org.apache.mina.io.IoHandlerFilter.NextFilter;
public abstract class AbstractIoHandlerFilterChain implements IoHandlerFilterChain
{
@@ -51,90 +52,7 @@
public void filterWrite( NextFilter nextFilter, IoSession session,
ByteBuffer buf, Object marker )
{
- if( parent == null )
- {
- // write only when root filter chain traversal is finished.
- doWrite( session, buf, marker );
- }
- }
- };
-
- private final IoHandlerFilter NEXT_FILTER = new IoHandlerFilter()
- {
- public void sessionOpened( NextFilter nextFilter, IoSession session )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractIoHandlerFilterChain.this );
- e.nextFilter.sessionOpened( session );
- }
- nextFilter.sessionOpened( session );
- }
-
- public void sessionClosed( NextFilter nextFilter, IoSession session )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractIoHandlerFilterChain.this );
- e.nextFilter.sessionClosed( session );
- }
- nextFilter.sessionClosed( session );
- }
-
- public void sessionIdle( NextFilter nextFilter, IoSession session,
- IdleStatus status )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractIoHandlerFilterChain.this );
-
- e.nextFilter.sessionIdle( session, status );
- }
- nextFilter.sessionIdle( session, status );
- }
-
- public void exceptionCaught( NextFilter nextFilter,
- IoSession session, Throwable cause )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractIoHandlerFilterChain.this );
- e.nextFilter.exceptionCaught( session, cause );
- }
- nextFilter.exceptionCaught( session, cause );
- }
-
- public void dataRead( NextFilter nextFilter, IoSession session,
- ByteBuffer buf )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractIoHandlerFilterChain.this );
- e.nextFilter.dataRead( session, buf );
- }
- nextFilter.dataRead( session, buf );
- }
-
- public void dataWritten( NextFilter nextFilter, IoSession session,
- Object marker )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractIoHandlerFilterChain.this );
- e.nextFilter.dataWritten( session, marker );
- }
- nextFilter.dataWritten( session, marker );
- }
-
- public void filterWrite( NextFilter nextFilter, IoSession session,
- ByteBuffer buf, Object marker )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractIoHandlerFilterChain.this );
- e.prevFilter.filterWrite( session, buf, marker );
- }
- nextFilter.filterWrite( session, buf, marker );
+ doWrite( session, buf, marker );
}
};
@@ -142,56 +60,38 @@
{
public void sessionOpened( NextFilter nextFilter, IoSession session )
{
- if( parent == null )
- {
- session.getHandler().sessionOpened( session );
- }
+ session.getHandler().sessionOpened( session );
}
public void sessionClosed( NextFilter nextFilter, IoSession session )
{
- if( parent == null )
- {
- session.getHandler().sessionClosed( session );
- }
+ session.getHandler().sessionClosed( session );
}
public void sessionIdle( NextFilter nextFilter, IoSession session,
IdleStatus status )
{
- if( parent == null )
- {
- session.getHandler().sessionIdle( session, status );
- }
+ session.getHandler().sessionIdle( session, status );
}
public void exceptionCaught( NextFilter nextFilter,
IoSession session, Throwable cause )
{
- if( parent == null )
- {
- session.getHandler().exceptionCaught( session, cause );
- }
+ session.getHandler().exceptionCaught( session, cause );
}
public void dataRead( NextFilter nextFilter, IoSession session,
ByteBuffer buf )
{
- if( parent == null )
- {
- IoHandler handler = session.getHandler();
- handler.dataRead( session, buf );
- buf.release();
- }
+ IoHandler handler = session.getHandler();
+ handler.dataRead( session, buf );
+ buf.release();
}
public void dataWritten( NextFilter nextFilter, IoSession session,
Object marker )
{
- if( parent == null )
- {
- session.getHandler().dataWritten( session, marker );
- }
+ session.getHandler().dataWritten( session, marker );
}
public void filterWrite( NextFilter nextFilter,
@@ -201,10 +101,6 @@
}
};
- private final boolean root;
-
- private AbstractIoHandlerFilterChain parent;
-
private final Map name2entry = new HashMap();
private final Map filter2entry = new IdentityHashMap();
@@ -213,33 +109,11 @@
private final Entry tail;
- protected AbstractIoHandlerFilterChain( boolean root )
+ protected AbstractIoHandlerFilterChain()
{
- this.root = root;
-
head = new Entry( null, null, "head", HEAD_FILTER );
tail = new Entry( head, null, "tail", TAIL_FILTER );
head.nextEntry = tail;
-
- if( !root )
- {
- register( head, IoHandlerFilterChain.NEXT_FILTER, NEXT_FILTER );
- }
- }
-
- public IoHandlerFilterChain getRoot()
- {
- AbstractIoHandlerFilterChain current = this;
- while( current.parent != null )
- {
- current = current.parent;
- }
- return current;
- }
-
- public IoHandlerFilterChain getParent()
- {
- return parent;
}
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 );
}
@@ -269,7 +143,7 @@
public synchronized void addLast( String name,
IoHandlerFilter filter )
{
- checkAddable( name, filter );
+ checkAddable( name );
register( tail.prevEntry, name, filter );
}
@@ -283,7 +157,7 @@
IoHandlerFilter filter )
{
Entry baseEntry = checkOldName( baseName );
- checkAddable( name, filter );
+ checkAddable( name );
register( baseEntry, name, filter );
}
@@ -297,7 +171,7 @@
IoHandlerFilter filter )
{
Entry baseEntry = checkOldName( baseName );
- checkAddable( name, filter );
+ checkAddable( name );
register( baseEntry.prevEntry, name, filter );
}
@@ -316,10 +190,6 @@
name2entry.remove( name );
IoHandlerFilter filter = entry.filter;
filter2entry.remove( filter );
- if ( filter instanceof AbstractIoHandlerFilterChain )
- {
- ( ( AbstractIoHandlerFilterChain ) filter ).parent = null;
- }
}
@@ -337,24 +207,6 @@
private void register( Entry prevEntry, String name, IoHandlerFilter filter )
{
- 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 != null )
- {
- throw new IllegalArgumentException( "Already added to other parent chain." );
- }
-
- ( ( AbstractIoHandlerFilterChain ) filter ).parent = this;
- }
-
Entry newEntry = new Entry( prevEntry, prevEntry.nextEntry, name, filter );
prevEntry.nextEntry.prevEntry = newEntry;
prevEntry.nextEntry = newEntry;
@@ -382,23 +234,15 @@
/**
* Checks the specified interceptor name is already taken and throws an 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 using name '" + name + "'" );
}
-
- if ( filter instanceof AbstractIoHandlerFilterChain )
- {
- if ( ( ( AbstractIoHandlerFilterChain ) filter ).parent != null )
- {
- throw new IllegalArgumentException( "This interceptor chain has its parent already." );
- }
- }
}
- public void sessionOpened( NextFilter nextFilter, IoSession session )
+ public void sessionOpened( IoSession session )
{
Entry head = this.head;
callNextSessionOpened(head, session);
@@ -413,11 +257,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void sessionClosed( NextFilter nextFilter, IoSession session )
+ public void sessionClosed( IoSession session )
{
Entry head = this.head;
callNextSessionClosed(head, session);
@@ -432,11 +276,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void sessionIdle( NextFilter nextFilter, IoSession session, IdleStatus status )
+ public void sessionIdle( IoSession session, IdleStatus status )
{
Entry head = this.head;
callNextSessionIdle(head, session, status);
@@ -452,11 +296,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void dataRead( NextFilter nextFilter, IoSession session, ByteBuffer buf )
+ public void dataRead( IoSession session, ByteBuffer buf )
{
Entry head = this.head;
callNextDataRead(head, session, buf);
@@ -472,11 +316,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void dataWritten( NextFilter nextFilter, IoSession session, Object marker )
+ public void dataWritten( IoSession session, Object marker )
{
Entry head = this.head;
callNextDataWritten(head, session, marker);
@@ -492,11 +336,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void exceptionCaught( NextFilter nextFilter, IoSession session, Throwable cause )
+ public void exceptionCaught( IoSession session, Throwable cause )
{
Entry head = this.head;
callNextExceptionCaught(head, session, cause);
@@ -516,8 +360,7 @@
}
}
- public void filterWrite( NextFilter nextFilter,
- IoSession session, ByteBuffer buf, Object marker )
+ public void filterWrite( IoSession session, ByteBuffer buf, Object marker )
{
Entry tail = this.tail;
callPreviousFilterWrite( tail, session, buf, marker );
@@ -538,7 +381,7 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
@@ -565,18 +408,6 @@
e = e.prevEntry;
}
return list;
- }
-
- private void fireExceptionCaught( IoSession session, Throwable cause )
- {
- try
- {
- getRoot().exceptionCaught( null, session, cause );
- }
- catch( Throwable t )
- {
- t.printStackTrace();
- }
}
protected abstract void doWrite( IoSession session, ByteBuffer buffer, Object marker );
Modified: directory/network/trunk/src/java/org/apache/mina/io/IoAcceptor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/IoAcceptor.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/IoAcceptor.java (original)
+++ 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 );
- IoHandlerFilterChain newFilterChain();
-
IoHandlerFilterChain getFilterChain();
/**
Modified: directory/network/trunk/src/java/org/apache/mina/io/IoConnector.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/IoConnector.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/IoConnector.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/IoConnector.java Fri Mar 25 05:43:18 2005
@@ -69,8 +69,6 @@
IoSession connect( SocketAddress address, int timeout, IoHandler handler )
throws IOException;
- IoHandlerFilterChain newFilterChain();
-
IoHandlerFilterChain getFilterChain();
/**
Modified: directory/network/trunk/src/java/org/apache/mina/io/IoHandlerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/IoHandlerFilterChain.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/IoHandlerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/IoHandlerFilterChain.java Fri Mar 25 05:43:18 2005
@@ -3,12 +3,7 @@
import java.util.List;
-public interface IoHandlerFilterChain extends IoHandlerFilter {
- static String NEXT_FILTER = "nextFilter";
-
- 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/DatagramAcceptor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAcceptor.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAcceptor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAcceptor.java Fri Mar 25 05:43:18 2005
@@ -47,7 +47,7 @@
{
private static volatile int nextId = 0;
- private final DatagramFilterChain filters = new DatagramFilterChain( true, this );
+ private final DatagramFilterChain filters = new DatagramFilterChain( this );
private final int id = nextId ++ ;
@@ -300,12 +300,12 @@
newBuf.flip();
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 );
}
- session.getFilters().dataWritten( null, session, marker );
+ session.getFilters().dataWritten( session, marker );
continue;
}
@@ -406,7 +405,7 @@
}
session.increaseWrittenBytes( writtenBytes );
- session.getFilters().dataWritten( null, session, marker );
+ session.getFilters().dataWritten( session, marker );
}
}
}
@@ -511,11 +510,6 @@
}
}
}
- }
-
- public IoHandlerFilterChain newFilterChain()
- {
- return new DatagramFilterChain( false, this );
}
public IoHandlerFilterChain getFilterChain()
Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramConnector.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramConnector.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramConnector.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramConnector.java Fri Mar 25 05:43:18 2005
@@ -48,7 +48,7 @@
{
private static volatile int nextId = 0;
- private final DatagramFilterChain filters = new DatagramFilterChain( true, this );
+ private final DatagramFilterChain filters = new DatagramFilterChain( this );
private final int id = nextId ++ ;
@@ -255,12 +255,12 @@
newBuf.put( readBuf );
newBuf.flip();
- 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 );
}
- session.getFilters().dataWritten( null, session, marker );
+ session.getFilters().dataWritten( session, marker );
continue;
}
@@ -358,7 +357,7 @@
writeBufferQueue.pop();
writeMarkerQueue.pop();
}
- session.getFilters().dataWritten( null, session, marker );
+ session.getFilters().dataWritten( session, marker );
}
}
}
@@ -426,11 +425,6 @@
}
}
- public IoHandlerFilterChain newFilterChain()
- {
- return new DatagramFilterChain( false, this );
- }
-
public IoHandlerFilterChain getFilterChain()
{
return filters;
Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramFilterChain.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramFilterChain.java Fri Mar 25 05:43:18 2005
@@ -9,9 +9,8 @@
private final DatagramProcessor processor;
- DatagramFilterChain( boolean root, DatagramProcessor processor )
+ DatagramFilterChain( DatagramProcessor processor )
{
- super( root );
this.processor = processor;
}
Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramSession.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramSession.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramSession.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramSession.java Fri Mar 25 05:43:18 2005
@@ -139,7 +139,7 @@
public void write( ByteBuffer buf, Object marker )
{
- filters.filterWrite( null, this, buf, marker );
+ filters.filterWrite( this, buf, marker );
}
public TransportType getTransportType()
Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAcceptor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAcceptor.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAcceptor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAcceptor.java Fri Mar 25 05:43:18 2005
@@ -49,7 +49,7 @@
{
private static volatile int nextId = 0;
- private final SocketFilterChain filters = new SocketFilterChain( true );
+ private final SocketFilterChain filters = new SocketFilterChain();
private final int id = nextId ++ ;
@@ -422,18 +422,10 @@
}
}
-
- public IoHandlerFilterChain newFilterChain()
- {
- return new SocketFilterChain( false );
- }
-
-
public IoHandlerFilterChain getFilterChain()
{
return filters;
}
-
private static class RegistrationRequest
{
Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/SocketConnector.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/socket/SocketConnector.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketConnector.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketConnector.java Fri Mar 25 05:43:18 2005
@@ -48,7 +48,7 @@
private final int id = nextId++;
- private final SocketFilterChain filters = new SocketFilterChain( true );
+ private final SocketFilterChain filters = new SocketFilterChain();
private final Selector selector;
@@ -328,11 +328,6 @@
}
}
- public IoHandlerFilterChain newFilterChain()
- {
- return new SocketFilterChain( false );
- }
-
public IoHandlerFilterChain getFilterChain()
{
return filters;
Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/SocketFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/socket/SocketFilterChain.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketFilterChain.java Fri Mar 25 05:43:18 2005
@@ -7,9 +7,8 @@
class SocketFilterChain extends AbstractIoHandlerFilterChain {
- SocketFilterChain( boolean root )
+ SocketFilterChain()
{
- super( root );
}
protected void doWrite( IoSession session, ByteBuffer buf, Object marker )
Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java Fri Mar 25 05:43:18 2005
@@ -161,12 +161,12 @@
catch( IOException e )
{
registered = false;
- session.getFilters().exceptionCaught( null, session, e );
+ session.getFilters().exceptionCaught( session, e );
}
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 = 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 ) >= idleTime )
{
session.setIdle( status, true );
- session.getFilters().sessionIdle( null, session, status );
+ session.getFilters().sessionIdle( session, status );
}
}
@@ -367,7 +367,7 @@
{
session
.getFilters()
- .exceptionCaught( null, session, new WriteTimeoutException() );
+ .exceptionCaught( session, new WriteTimeoutException() );
}
}
@@ -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 );
}
- session.getFilters().dataWritten( null, session, marker );
+ session.getFilters().dataWritten( session, marker );
continue;
}
Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/SocketSession.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/socket/SocketSession.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketSession.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketSession.java 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;
@@ -41,7 +40,7 @@
{
private static final int DEFAULT_READ_BUFFER_SIZE = 1024;
- private final IoHandlerFilterChain filters;
+ private final SocketFilterChain filters;
private final SocketChannel ch;
@@ -82,7 +81,7 @@
/**
* Creates a new instance.
*/
- SocketSession( IoHandlerFilterChain filters, SocketChannel ch,
+ SocketSession( SocketFilterChain filters, SocketChannel ch,
IoHandler defaultHandler )
{
this.filters = filters;
@@ -96,7 +95,7 @@
this.localAddress = ch.socket().getLocalSocketAddress();
}
- IoHandlerFilterChain getFilters()
+ SocketFilterChain getFilters()
{
return filters;
}
@@ -169,7 +168,7 @@
public void write( ByteBuffer buf, Object marker )
{
- filters.filterWrite( null, this, buf, marker );
+ filters.filterWrite( this, buf, marker );
}
public TransportType getTransportType()
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java Fri Mar 25 05:43:18 2005
@@ -8,6 +8,7 @@
import java.util.Map;
import org.apache.mina.common.IdleStatus;
+import org.apache.mina.protocol.ProtocolHandlerFilter.NextFilter;
public abstract class AbstractProtocolHandlerFilterChain implements ProtocolHandlerFilterChain
{
@@ -50,89 +51,7 @@
public void filterWrite( NextFilter nextFilter, ProtocolSession session,
Object message )
{
- if( parent == null )
- {
- // write only when root filter chain traversal is finished.
- doWrite( session, message );
- }
- }
- };
-
- private final ProtocolHandlerFilter NEXT_FILTER = new ProtocolHandlerFilter()
- {
- public void sessionOpened( NextFilter nextFilter, ProtocolSession session )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractProtocolHandlerFilterChain.this );
- e.nextFilter.sessionOpened( session );
- }
- nextFilter.sessionOpened( session );
- }
-
- public void sessionClosed( NextFilter nextFilter, ProtocolSession session )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractProtocolHandlerFilterChain.this );
- e.nextFilter.sessionClosed( session );
- }
- nextFilter.sessionClosed( session );
- }
-
- public void sessionIdle( NextFilter nextFilter, ProtocolSession session,
- IdleStatus status )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractProtocolHandlerFilterChain.this );
- e.nextFilter.sessionIdle( session, status );
- }
- nextFilter.sessionIdle( session, status );
- }
-
- public void exceptionCaught( NextFilter nextFilter,
- ProtocolSession session, Throwable cause )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractProtocolHandlerFilterChain.this );
- e.nextFilter.exceptionCaught( session, cause );
- }
- nextFilter.exceptionCaught( session, cause );
- }
-
- public void messageReceived( NextFilter nextFilter, ProtocolSession session,
- Object message )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractProtocolHandlerFilterChain.this );
- e.nextFilter.messageReceived( session, message );
- }
- nextFilter.messageReceived( session, message );
- }
-
- public void messageSent( NextFilter nextFilter, ProtocolSession session,
- Object message )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractProtocolHandlerFilterChain.this );
- e.nextFilter.messageSent( session, message );
- }
- nextFilter.messageSent( session, message );
- }
-
- public void filterWrite( NextFilter nextFilter, ProtocolSession session,
- Object message )
- {
- if( parent != null )
- {
- Entry e = ( Entry ) parent.filter2entry.get( AbstractProtocolHandlerFilterChain.this );
- e.prevFilter.filterWrite( session, message );
- }
- nextFilter.filterWrite( session, message );
+ doWrite( session, message );
}
};
@@ -140,55 +59,37 @@
{
public void sessionOpened( NextFilter nextFilter, ProtocolSession session )
{
- if( parent == null )
- {
- session.getHandler().sessionOpened( session );
- }
+ session.getHandler().sessionOpened( session );
}
public void sessionClosed( NextFilter nextFilter, ProtocolSession session )
{
- if( parent == null )
- {
- session.getHandler().sessionClosed( session );
- }
+ session.getHandler().sessionClosed( session );
}
public void sessionIdle( NextFilter nextFilter, ProtocolSession session,
IdleStatus status )
{
- if( parent == null )
- {
- session.getHandler().sessionIdle( session, status );
- }
+ session.getHandler().sessionIdle( session, status );
}
public void exceptionCaught( NextFilter nextFilter,
ProtocolSession session, Throwable cause )
{
- if( parent == null )
- {
- session.getHandler().exceptionCaught( session, cause );
- }
+ session.getHandler().exceptionCaught( session, cause );
}
public void messageReceived( NextFilter nextFilter, ProtocolSession session,
Object message )
{
- if( parent == null )
- {
- ProtocolHandler handler = session.getHandler();
- handler.messageReceived( session, message );
- }
+ ProtocolHandler handler = session.getHandler();
+ handler.messageReceived( session, message );
}
public void messageSent( NextFilter nextFilter, ProtocolSession session,
Object message )
{
- if( parent == null )
- {
- session.getHandler().messageSent( session, message );
- }
+ session.getHandler().messageSent( session, message );
}
public void filterWrite( NextFilter nextFilter,
@@ -198,10 +99,6 @@
}
};
- private final boolean root;
-
- private AbstractProtocolHandlerFilterChain parent;
-
private final Map name2entry = new HashMap();
private final Map filter2entry = new IdentityHashMap();
@@ -210,33 +107,11 @@
private final Entry tail;
- protected AbstractProtocolHandlerFilterChain( boolean root )
+ protected AbstractProtocolHandlerFilterChain()
{
- this.root = root;
-
head = new Entry( null, null, "head", HEAD_FILTER );
tail = new Entry( head, null, "tail", TAIL_FILTER );
head.nextEntry = tail;
-
- if( !root )
- {
- register( head, ProtocolHandlerFilterChain.NEXT_FILTER, NEXT_FILTER );
- }
- }
-
- public ProtocolHandlerFilterChain getRoot()
- {
- AbstractProtocolHandlerFilterChain current = this;
- while( current.parent != null )
- {
- current = current.parent;
- }
- return current;
- }
-
- public ProtocolHandlerFilterChain getParent()
- {
- return parent;
}
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 );
}
@@ -266,7 +141,7 @@
public synchronized void addLast( String name,
ProtocolHandlerFilter filter )
{
- checkAddable( name, filter );
+ checkAddable( name );
register( tail.prevEntry, name, filter );
}
@@ -280,7 +155,7 @@
ProtocolHandlerFilter filter )
{
Entry baseEntry = checkOldName( baseName );
- checkAddable( name, filter );
+ checkAddable( name );
register( baseEntry, name, filter );
}
@@ -294,7 +169,7 @@
ProtocolHandlerFilter filter )
{
Entry baseEntry = checkOldName( baseName );
- checkAddable( name, filter );
+ checkAddable( name );
register( baseEntry.prevEntry, name, filter );
}
@@ -313,10 +188,6 @@
name2entry.remove( name );
ProtocolHandlerFilter filter = entry.filter;
filter2entry.remove( filter );
- if ( filter instanceof AbstractProtocolHandlerFilterChain )
- {
- ( ( AbstractProtocolHandlerFilterChain ) filter ).parent = null;
- }
}
@@ -334,23 +205,6 @@
private void register( Entry prevEntry, String name, ProtocolHandlerFilter 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 != null )
- {
- throw new IllegalArgumentException( "Already added to other parent chain." );
- }
-
- ( ( AbstractProtocolHandlerFilterChain ) filter ).parent = this;
- }
Entry newEntry = new Entry( prevEntry, prevEntry.nextEntry, name, filter );
prevEntry.nextEntry.prevEntry = newEntry;
prevEntry.nextEntry = newEntry;
@@ -378,23 +232,15 @@
/**
* Checks the specified interceptor name is already taken and throws an 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 using name '" + name + "'" );
}
-
- if ( filter instanceof AbstractProtocolHandlerFilterChain )
- {
- if ( ( ( AbstractProtocolHandlerFilterChain ) filter ).parent != null )
- {
- throw new IllegalArgumentException( "This interceptor chain has its parent already." );
- }
- }
}
- public void sessionOpened( NextFilter nextFilter, ProtocolSession session )
+ public void sessionOpened( ProtocolSession session )
{
Entry head = this.head;
callNextSessionOpened(head, session);
@@ -409,11 +255,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void sessionClosed( NextFilter nextFilter, ProtocolSession session )
+ public void sessionClosed( ProtocolSession session )
{
Entry head = this.head;
callNextSessionClosed(head, session);
@@ -429,11 +275,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void sessionIdle( NextFilter nextFilter, ProtocolSession session, IdleStatus status )
+ public void sessionIdle( ProtocolSession session, IdleStatus status )
{
Entry head = this.head;
callNextSessionIdle(head, session, status);
@@ -449,11 +295,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void messageReceived( NextFilter nextFilter, ProtocolSession session, Object message )
+ public void messageReceived( ProtocolSession session, Object message )
{
Entry head = this.head;
callNextMessageReceived(head, session, message );
@@ -469,11 +315,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void messageSent( NextFilter nextFilter, ProtocolSession session, Object message )
+ public void messageSent( ProtocolSession session, Object message )
{
Entry head = this.head;
callNextMessageSent(head, session, message);
@@ -489,11 +335,11 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
- public void exceptionCaught( NextFilter nextFilter, ProtocolSession session, Throwable cause )
+ public void exceptionCaught( ProtocolSession session, Throwable cause )
{
Entry head = this.head;
callNextExceptionCaught(head, session, cause);
@@ -513,8 +359,7 @@
}
}
- public void filterWrite( NextFilter nextFilter,
- ProtocolSession session, Object message )
+ public void filterWrite( ProtocolSession session, Object message )
{
Entry tail = this.tail;
callPreviousFilterWrite( tail, session, message );
@@ -535,7 +380,7 @@
}
catch( Throwable e )
{
- fireExceptionCaught( session, e );
+ exceptionCaught( session, e );
}
}
@@ -562,18 +407,6 @@
e = e.prevEntry;
}
return list;
- }
-
- private void fireExceptionCaught( ProtocolSession session, Throwable cause )
- {
- try
- {
- getRoot().exceptionCaught( null, session, cause );
- }
- catch( Throwable t )
- {
- t.printStackTrace();
- }
}
protected abstract void doWrite( ProtocolSession session, Object message );
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolAcceptor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolAcceptor.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolAcceptor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolAcceptor.java Fri Mar 25 05:43:18 2005
@@ -59,7 +59,5 @@
*/
void unbind( SocketAddress address );
- ProtocolHandlerFilterChain newFilterChain();
-
ProtocolHandlerFilterChain getFilterChain();
}
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolConnector.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolConnector.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolConnector.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolConnector.java Fri Mar 25 05:43:18 2005
@@ -67,7 +67,5 @@
ProtocolProvider protocolProvider )
throws IOException;
- ProtocolHandlerFilterChain newFilterChain();
-
ProtocolHandlerFilterChain getFilterChain();
}
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolHandlerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolHandlerFilterChain.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolHandlerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/ProtocolHandlerFilterChain.java Fri Mar 25 05:43:18 2005
@@ -3,12 +3,7 @@
import java.util.List;
-public interface ProtocolHandlerFilterChain extends ProtocolHandlerFilter {
- static String NEXT_FILTER = "nextFilter";
-
- 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/IoAdapter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/io/IoAdapter.java?view=diff&r1=159008&r2=159009
==============================================================================
--- 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 = new IoProtocolFilterChain( true );
+ private final IoProtocolFilterChain filters = new IoProtocolFilterChain();
IoAdapter()
{
}
- public ProtocolHandlerFilterChain newFilterChain()
- {
- return new IoProtocolFilterChain( false );
- }
-
public ProtocolHandlerFilterChain getFilterChain()
{
return filters;
@@ -109,24 +104,22 @@
public void sessionOpened( IoSession session )
{
- filters.sessionOpened( null, getProtocolSession( session ) );
+ filters.sessionOpened( getProtocolSession( session ) );
}
public void sessionClosed( IoSession session )
{
- filters.sessionClosed( null, getProtocolSession( session ) );
+ filters.sessionClosed( getProtocolSession( session ) );
}
public void sessionIdle( IoSession session, IdleStatus status )
{
- filters.sessionIdle( null, getProtocolSession( session ),
- status );
+ filters.sessionIdle( getProtocolSession( session ), status );
}
public void exceptionCaught( IoSession session, Throwable cause )
{
- filters.exceptionCaught( null, getProtocolSession( session ),
- cause );
+ filters.exceptionCaught( getProtocolSession( session ), cause );
}
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 );
}
}
@@ -169,8 +161,8 @@
{
if( marker == null )
return;
- filters.messageSent( null, ( ProtocolSession ) session
- .getAttachment(), marker );
+ filters.messageSent(
+ ( ProtocolSession ) session.getAttachment(), marker );
}
void doWrite( IoSession session )
@@ -211,7 +203,7 @@
}
catch( Throwable t )
{
- filters.exceptionCaught( null, psession, t );
+ filters.exceptionCaught( psession, t );
}
}
@@ -298,7 +290,7 @@
public void write( Object message )
{
- filters.filterWrite( null, this, message );
+ filters.filterWrite( this, message );
}
public TransportType getTransportType()
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolAcceptor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolAcceptor.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolAcceptor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolAcceptor.java Fri Mar 25 05:43:18 2005
@@ -55,11 +55,6 @@
acceptor.unbind( address );
}
- public ProtocolHandlerFilterChain newFilterChain()
- {
- return adapter.newFilterChain();
- }
-
public ProtocolHandlerFilterChain getFilterChain()
{
return adapter.getFilterChain();
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolConnector.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolConnector.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolConnector.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolConnector.java Fri Mar 25 05:43:18 2005
@@ -63,11 +63,6 @@
return adapter.toProtocolSession( session );
}
- public ProtocolHandlerFilterChain newFilterChain()
- {
- return adapter.newFilterChain();
- }
-
public ProtocolHandlerFilterChain getFilterChain()
{
return adapter.getFilterChain();
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolFilterChain.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/io/IoProtocolFilterChain.java Fri Mar 25 05:43:18 2005
@@ -7,11 +7,12 @@
class IoProtocolFilterChain extends AbstractProtocolHandlerFilterChain {
- IoProtocolFilterChain( boolean root ) {
- super( root );
+ IoProtocolFilterChain()
+ {
}
- protected void doWrite(ProtocolSession session, Object message) {
+ protected void doWrite( ProtocolSession session, Object message )
+ {
ProtocolSessionImpl s = ( ProtocolSessionImpl ) session;
Queue writeQueue = 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/apache/mina/protocol/vmpipe/VmPipeAcceptor.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeAcceptor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeAcceptor.java Fri Mar 25 05:43:18 2005
@@ -24,7 +24,7 @@
{
static final Map boundHandlers = new HashMap();
- private final VmPipeFilterChain filters = new VmPipeFilterChain( true );
+ private final VmPipeFilterChain filters = new VmPipeFilterChain();
/**
* Creates a new instance.
@@ -68,11 +68,6 @@
}
}
- public ProtocolHandlerFilterChain newFilterChain()
- {
- return new VmPipeFilterChain( false );
- }
-
public ProtocolHandlerFilterChain getFilterChain()
{
return filters;
@@ -82,13 +77,13 @@
{
final VmPipeAddress address;
- final ProtocolHandlerFilterChain filters;
+ final VmPipeFilterChain filters;
final ProtocolHandler handler;
private Entry( VmPipeAddress address,
- ProtocolHandlerFilterChain filters,
- ProtocolHandler handler )
+ VmPipeFilterChain filters,
+ ProtocolHandler handler )
{
this.address = address;
this.filters = 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/apache/mina/protocol/vmpipe/VmPipeConnector.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeConnector.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeConnector.java Fri Mar 25 05:43:18 2005
@@ -21,7 +21,7 @@
*/
public class VmPipeConnector implements ProtocolConnector
{
- private final VmPipeFilterChain filters = new VmPipeFilterChain( true );
+ private final VmPipeFilterChain filters = new VmPipeFilterChain();
/**
* Creates a new instance.
@@ -29,11 +29,6 @@
public VmPipeConnector()
{
filters.addLast( "VMPipe", new VmPipeFilter() );
- }
-
- public ProtocolHandlerFilterChain newFilterChain()
- {
- return new VmPipeFilterChain( false );
}
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/apache/mina/protocol/vmpipe/VmPipeFilter.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeFilter.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeFilter.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 = ( VmPipeSession ) session;
@@ -24,7 +24,7 @@
vps.lastReadTime = System.currentTimeMillis();
// fire messageSent event first
- vps.remoteFilters.messageSent( null, vps.remoteSession, message );
+ vps.remoteFilters.messageSent( vps.remoteSession, message );
// 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/apache/mina/protocol/vmpipe/VmPipeFilterChain.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeFilterChain.java Fri Mar 25 05:43:18 2005
@@ -5,9 +5,8 @@
class VmPipeFilterChain extends AbstractProtocolHandlerFilterChain {
- VmPipeFilterChain( boolean root )
+ VmPipeFilterChain()
{
- super( root );
}
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/apache/mina/protocol/vmpipe/VmPipeIdleStatusChecker.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeIdleStatusChecker.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeIdleStatusChecker.java Fri Mar 25 05:43:18 2005
@@ -82,8 +82,7 @@
&& ( currentTime - session.lastReadTime ) > idleTime;
if( session.bothIdle )
session.localFilters
- .sessionIdle( null,
- session,
+ .sessionIdle( session,
IdleStatus.BOTH_IDLE );
}
@@ -95,8 +94,7 @@
&& ( currentTime - session.lastReadTime ) > idleTime;
if( session.readerIdle )
session.localFilters
- .sessionIdle( null,
- session,
+ .sessionIdle( session,
IdleStatus.READER_IDLE );
}
@@ -108,8 +106,7 @@
&& ( currentTime - session.lastReadTime ) > idleTime;
if( session.writerIdle )
session.localFilters
- .sessionIdle( null,
- session,
+ .sessionIdle( session,
IdleStatus.WRITER_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/apache/mina/protocol/vmpipe/VmPipeSession.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeSession.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeSession.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;
/**
@@ -30,9 +29,9 @@
private final VmPipeSessionConfig config = new VmPipeSessionConfig();
- final ProtocolHandlerFilterChain localFilters;
+ final VmPipeFilterChain localFilters;
- final ProtocolHandlerFilterChain remoteFilters;
+ final VmPipeFilterChain remoteFilters;
final VmPipeSession remoteSession;
@@ -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 = lock;
@@ -71,8 +70,8 @@
remoteSession = new VmPipeSession( this, remoteHandler );
- removeFilters.sessionOpened( null, remoteSession );
- localFilters.sessionOpened( null, this );
+ removeFilters.sessionOpened( remoteSession );
+ localFilters.sessionOpened( this );
}
/**
@@ -113,8 +112,8 @@
return;
closed = remoteSession.closed = true;
- localFilters.sessionClosed( null, this );
- remoteFilters.sessionClosed( null, remoteSession );
+ localFilters.sessionClosed( this );
+ remoteFilters.sessionClosed( remoteSession );
}
}
@@ -130,7 +129,7 @@
public void write( Object message )
{
- localFilters.filterWrite( null, this, message );
+ localFilters.filterWrite( this, message );
}
public TransportType getTransportType()
Modified: directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java Fri Mar 25 05:43:18 2005
@@ -55,11 +55,7 @@
*/
void unbind( Service service );
- IoHandlerFilterChain newIoFilterChain( TransportType transportType );
-
IoHandlerFilterChain getIoFilterChain( TransportType transportType );
-
- ProtocolHandlerFilterChain newProtocolFilterChain( TransportType transportType );
ProtocolHandlerFilterChain getProtocolFilterChain( TransportType transportType );
Modified: directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java Fri Mar 25 05:43:18 2005
@@ -117,16 +117,8 @@
stopThreadPools();
}
- public IoHandlerFilterChain newIoFilterChain(TransportType transportType) {
- return findIoAcceptor( transportType ).newFilterChain();
- }
-
public IoHandlerFilterChain getIoFilterChain(TransportType transportType) {
return findIoAcceptor( transportType ).getFilterChain();
- }
-
- public ProtocolHandlerFilterChain newProtocolFilterChain(TransportType transportType) {
- return findProtocolAcceptor( transportType ).newFilterChain();
}
public ProtocolHandlerFilterChain getProtocolFilterChain(TransportType transportType) {
Modified: directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilterChainTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilterChainTest.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilterChainTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/io/IoHandlerFilterChainTest.java Fri Mar 25 05:43:18 2005
@@ -12,13 +12,13 @@
public class IoHandlerFilterChainTest extends TestCase
{
- private IoHandlerFilterChain chain;
+ private IoHandlerFilterChainImpl chain;
private IoSession session;
private String result;
public void setUp()
{
- chain = new IoHandlerFilterChainImpl( true );
+ chain = new IoHandlerFilterChainImpl();
session = new TestSession();
result = "";
}
@@ -32,7 +32,7 @@
run( "HSO HDR HDW HSI HEC HSC" );
}
- 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" );
}
- public void testNestedChain()
- {
- IoHandlerFilterChainImpl childChain = new IoHandlerFilterChainImpl( 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' ) );
-
- 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" );
- }
-
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 );
result = formatResult( result );
expectedResult = formatResult( expectedResult );
@@ -253,13 +235,13 @@
private static class IoHandlerFilterChainImpl extends AbstractIoHandlerFilterChain
{
- protected IoHandlerFilterChainImpl(boolean root) {
- super( root );
+ protected IoHandlerFilterChainImpl()
+ {
}
protected void doWrite(IoSession session, ByteBuffer buffer, Object marker)
{
- getRoot().dataWritten( null, session, marker );
+ dataWritten( session, marker );
}
}
Modified: directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolHandlerFilterChainTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolHandlerFilterChainTest.java?view=diff&r1=159008&r2=159009
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolHandlerFilterChainTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolHandlerFilterChainTest.java Fri Mar 25 05:43:18 2005
@@ -11,13 +11,13 @@
public class ProtocolHandlerFilterChainTest extends TestCase
{
- private ProtocolHandlerFilterChain chain;
+ private ProtocolHandlerFilterChainImpl chain;
private ProtocolSession session;
private String result;
public void setUp()
{
- chain = new ProtocolHandlerFilterChainImpl( true );
+ chain = new ProtocolHandlerFilterChainImpl();
session = new TestSession();
result = "";
}
@@ -31,7 +31,7 @@
run( "HSO HMR HMS HSI HEC HSC" );
}
- 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" );
}
- public void testNestedChain()
- {
- ProtocolHandlerFilterChainImpl childChain = new ProtocolHandlerFilterChainImpl( 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' ) );
-
- 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" );
- }
-
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 );
result = formatResult( result );
expectedResult = formatResult( expectedResult );
@@ -244,14 +226,13 @@
private static class ProtocolHandlerFilterChainImpl extends AbstractProtocolHandlerFilterChain
{
- protected ProtocolHandlerFilterChainImpl( boolean root )
+ protected ProtocolHandlerFilterChainImpl()
{
- super( root );
}
protected void doWrite( ProtocolSession session, Object message )
{
- getRoot().messageSent( null, session, message );
+ messageSent( session, message );
}
}