You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2008/11/10 14:58:12 UTC

svn commit: r712661 - in /mina/branches/mina-new-chain2: core/src/main/java/org/apache/mina/core/filterchain/ core/src/main/java/org/apache/mina/core/future/ core/src/main/java/org/apache/mina/core/polling/ core/src/main/java/org/apache/mina/core/servi...

Author: elecharny
Date: Mon Nov 10 05:58:11 2008
New Revision: 712661

URL: http://svn.apache.org/viewvc?rev=712661&view=rev
Log:
A new load of changes. Still not perfect...
o Fixed the way some events are propagated through the chain
o Added some javadoc
o many little modifications

Modified:
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/future/DefaultIoFuture.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderOutput.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderOutput.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
    mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/util/CommonEventFilter.java
    mina/branches/mina-new-chain2/example/src/main/java/org/apache/mina/example/chat/Main.java

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java Mon Nov 10 05:58:11 2008
@@ -88,7 +88,7 @@
      */
     public void sessionCreated(int index, IoSession session)
             throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
         nextFilter.sessionCreated(index+1, session);
     }
 
@@ -97,7 +97,7 @@
      */
     public void sessionOpened(int index, IoSession session)
             throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	nextFilter.sessionOpened(index+1, session);
     }
 
@@ -106,7 +106,7 @@
      */
     public void sessionClosed(int index, IoSession session)
             throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	nextFilter.sessionClosed(index+1, session);
     }
 
@@ -115,7 +115,7 @@
      */
     public void sessionIdle(int index, IoSession session,
             IdleStatus status) throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	nextFilter.sessionIdle(index+1, session, status);
     }
 
@@ -124,7 +124,7 @@
      */
     public void exceptionCaught(int index, IoSession session,
             Throwable cause) throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	nextFilter.exceptionCaught(index+1, session, cause);
     }
 
@@ -133,7 +133,7 @@
      */
     public void messageReceived(int index, IoSession session,
             Object message) throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	nextFilter.messageReceived(index+1, session, message);
     }
 
@@ -142,7 +142,7 @@
      */
     public void messageSent(int index, IoSession session,
             WriteRequest writeRequest) throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	nextFilter.messageSent(index+1, session, writeRequest);
     }
 
@@ -160,7 +160,7 @@
      */
     public void filterClose(int index, IoSession session)
             throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterOut(index+1);
     	nextFilter.filterClose(index+1, session);
     }
 
@@ -169,7 +169,7 @@
      */
     public void filterSetTrafficMask(int index, IoSession session,
             TrafficMask trafficMask) throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	nextFilter.filterSetTrafficMask(index+1, session, trafficMask);
     }
     

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java Mon Nov 10 05:58:11 2008
@@ -59,43 +59,43 @@
         switch (getType()) {
         case MESSAGE_RECEIVED:
         	nextFilter = getNextFilterIn();
-            nextFilter.messageReceived(nextFilterIndex+1, session, getParameter());
+            nextFilter.messageReceived(nextFilterIndex, session, getParameter());
             break;
         case MESSAGE_SENT:
         	nextFilter = getNextFilterIn();
-        	nextFilter.messageSent(nextFilterIndex+1, session, (WriteRequest) getParameter());
+        	nextFilter.messageSent(nextFilterIndex, session, (WriteRequest) getParameter());
             break;
         case WRITE:
         	nextFilter = getNextFilterOut();
-        	nextFilter.filterWrite(nextFilterIndex+1, session, (WriteRequest) getParameter());
+        	nextFilter.filterWrite(nextFilterIndex, session, (WriteRequest) getParameter());
             break;
         case SET_TRAFFIC_MASK:
         	nextFilter = getNextFilterIn();
-        	nextFilter.filterSetTrafficMask(nextFilterIndex+1, session, (TrafficMask) getParameter());
+        	nextFilter.filterSetTrafficMask(nextFilterIndex, session, (TrafficMask) getParameter());
             break;
         case CLOSE:
-        	nextFilter = getNextFilterIn();
-        	nextFilter.filterClose(nextFilterIndex+1, session);
+        	nextFilter = getNextFilterOut();
+        	nextFilter.filterClose(nextFilterIndex, session);
             break;
         case EXCEPTION_CAUGHT:
         	nextFilter = getNextFilterIn();
-        	nextFilter.exceptionCaught(nextFilterIndex+1, session, (Throwable) getParameter());
+        	nextFilter.exceptionCaught(nextFilterIndex, session, (Throwable) getParameter());
             break;
         case SESSION_IDLE:
         	nextFilter = getNextFilterIn();
-        	nextFilter.sessionIdle(nextFilterIndex+1, session, (IdleStatus) getParameter());
+        	nextFilter.sessionIdle(nextFilterIndex, session, (IdleStatus) getParameter());
             break;
         case SESSION_OPENED:
         	nextFilter = getNextFilterIn();
-        	nextFilter.sessionOpened(nextFilterIndex+1, session);
+        	nextFilter.sessionOpened(nextFilterIndex, session);
             break;
         case SESSION_CREATED:
         	nextFilter = getNextFilterIn();
-        	nextFilter.sessionCreated(nextFilterIndex+1, session);
+        	nextFilter.sessionCreated(nextFilterIndex, session);
             break;
         case SESSION_CLOSED:
         	nextFilter = getNextFilterIn();
-        	nextFilter.sessionClosed(nextFilterIndex+1, session);
+        	nextFilter.sessionClosed(nextFilterIndex, session);
             break;
         default:
             throw new IllegalArgumentException("Unknown event type: " + getType());

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/future/DefaultIoFuture.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/future/DefaultIoFuture.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/future/DefaultIoFuture.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/future/DefaultIoFuture.java Mon Nov 10 05:58:11 2008
@@ -119,7 +119,7 @@
      * {@inheritDoc}
      */
     public boolean await(long timeoutMillis) throws InterruptedException {
-        return await0(timeoutMillis, true);
+        return await(timeoutMillis, true);
     }
 
     /**
@@ -127,7 +127,7 @@
      */
     public IoFuture awaitUninterruptibly() {
         try {
-            await0(Long.MAX_VALUE, false);
+            await(Long.MAX_VALUE, false);
         } catch ( InterruptedException ie) {
             // Do nothing : this catch is just mandatory by contract
         }
@@ -147,7 +147,7 @@
      */
     public boolean awaitUninterruptibly(long timeoutMillis) {
         try {
-            return await0(timeoutMillis, false);
+            return await(timeoutMillis, false);
         } catch (InterruptedException e) {
             throw new InternalError();
         }
@@ -166,7 +166,7 @@
      * @throws InterruptedException If the thread has been interrupted
      * when it's not allowed.
      */
-    private boolean await0(long timeoutMillis, boolean interruptable) throws InterruptedException {
+    private boolean await(long timeoutMillis, boolean interruptable) throws InterruptedException {
         long endTime = System.currentTimeMillis() + timeoutMillis;
 
         synchronized (lock) {

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java Mon Nov 10 05:58:11 2008
@@ -37,6 +37,7 @@
 import org.apache.mina.core.future.DefaultIoFuture;
 import org.apache.mina.core.service.AbstractIoService;
 import org.apache.mina.core.service.IoProcessor;
+import org.apache.mina.core.service.IoServiceListenerSupport;
 import org.apache.mina.core.session.AbstractIoSession;
 import org.apache.mina.core.session.IdleStatusChecker;
 import org.apache.mina.core.session.IoSession;
@@ -417,7 +418,8 @@
 
             // DefaultIoFilterChain.CONNECT_FUTURE is cleared inside here
             // in AbstractIoFilterChain.fireSessionOpened().
-            ((AbstractIoService) session.getService()).getListeners().fireSessionCreated(session);
+            IoServiceListenerSupport listeners = ((AbstractIoService) session.getService()).getListeners(); 
+            listeners.fireSessionCreated(session);
             notified = true;
         } catch (Throwable e) {
             if (notified) {
@@ -802,6 +804,14 @@
 
     private void fireMessageSent(T session, WriteRequest req) throws Exception {
         session.setCurrentWriteRequest(null);
+        session.increaseWrittenMessages(req, System.currentTimeMillis());
+
+        try {
+            req.getFuture().setWritten();
+        } catch (Throwable t) {
+            //fireExceptionCaught(t);
+        }
+
         IoFilter filter = session.getFilterInHead(); 
         filter.messageSent(0, session, req);
     }
@@ -862,7 +872,7 @@
 
             for (;;) {
                 try {
-                    int selected = select(1000);
+                    int selected = select(60000);
 
                     nSessions += add();
                     updateTrafficMask();

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java Mon Nov 10 05:58:11 2008
@@ -417,5 +417,28 @@
         public final List<SocketAddress> getLocalAddresses() {
             return Collections.unmodifiableList(localAddresses);
         }
+        
+        /**
+         * @see Object#toString()
+         */
+        public String toString() {
+        	StringBuilder sb = new StringBuilder();
+        	
+        	sb.append("AcceptorOperationFuture for : {");
+        	boolean isFirst = true;
+        	
+        	for (SocketAddress socketAddress:localAddresses) {
+        		if (isFirst) {
+        			isFirst = false;
+        		} else {
+        			sb.append(", ");
+        		}
+        		sb.append(socketAddress);
+        	}
+        	
+        	sb.append('}');
+        	
+        	return sb.toString();
+        }
     }
 }

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java Mon Nov 10 05:58:11 2008
@@ -267,7 +267,7 @@
         }
 
         try {
-        	IoFilter nextFilter = getFilterInHead();
+        	IoFilter nextFilter = getFilterOutHead();
         	nextFilter.filterClose(0, this);
         } catch (Throwable e) {
         	exceptionCaught(e);

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Mon Nov 10 05:58:11 2008
@@ -217,7 +217,7 @@
     @Override
     public void messageReceived(int index, IoSession session,  
     		Object message) throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	
         if (!(message instanceof IoBuffer)) {
             nextFilter.messageReceived(index+1, session, message);
@@ -267,7 +267,7 @@
                 }
                 
                 // Finish decoding if no exception was thrown.
-                decoderOut.flush();
+                decoderOut.flush(index);
             } catch (Throwable t) {
                 ProtocolDecoderException pde;
                 if (t instanceof ProtocolDecoderException) {
@@ -285,7 +285,7 @@
                 }
 
                 // Fire the exceptionCaught event.
-                decoderOut.flush();
+                decoderOut.flush(index);
                 nextFilter.exceptionCaught(0, session, pde);
 
                 // Retry only if the type of the caught exception is
@@ -303,7 +303,7 @@
     @Override
     public void messageSent(int index, IoSession session,
             WriteRequest writeRequest) throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
 
     	if (writeRequest instanceof EncodedWriteRequest) {
             return;
@@ -367,7 +367,7 @@
             encoder.encode(session, message, encoderOut);
             
             // Send it directly
-            encoderOut.flushWithoutFuture();
+            encoderOut.flushWithoutFuture(index);
             
             // Call the next filter
             nextFilter.filterWrite(index+1, session, new MessageWriteRequest(
@@ -399,7 +399,7 @@
      */
     @Override
     public void sessionCreated(int index, IoSession session) throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
 
     	// Creates the decoder and stores it into the newly created session 
         ProtocolDecoder decoder = factory.getDecoder(session);
@@ -416,7 +416,7 @@
     @Override
     public void sessionClosed(int index, IoSession session)
             throws Exception {
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
 
     	// Call finishDecode() first when a connection is closed.
         ProtocolDecoder decoder = getDecoder(session);
@@ -462,7 +462,7 @@
             disposeEncoder(session);
             disposeDecoder(session);
             disposeDecoderOut(session);
-            decoderOut.flush();
+            decoderOut.flush(index);
         }
 
         nextFilter.sessionClosed(index+1, session);
@@ -470,7 +470,7 @@
 
     private ProtocolEncoderOutputImpl getEncoderOut(IoSession session, int index, 
             IoFilter nextFilter, WriteRequest writeRequest) {
-        return new ProtocolEncoderOutputImpl(session, index, nextFilter, writeRequest);
+        return new ProtocolEncoderOutputImpl(session, writeRequest);
     }
 
     private ProtocolDecoderOutput getDecoderOut(IoSession session,
@@ -538,18 +538,17 @@
     private static class ProtocolDecoderOutputImpl extends
             AbstractProtocolDecoderOutput {
         private final IoSession session;
-        private final IoFilter nextFilter;
 
         public ProtocolDecoderOutputImpl(
                 IoSession session, IoFilter nextFilter) {
             this.session = session;
-            this.nextFilter = nextFilter;
         }
 
-        public void flush() throws Exception {
+        public void flush(int index) throws Exception {
             Queue<Object> messageQueue = getMessageQueue();
             while (!messageQueue.isEmpty()) {
-          		nextFilter.messageReceived(0, session, messageQueue.poll());
+            	IoFilter nextFilter = session.getFilterIn(index+1);
+          		nextFilter.messageReceived(index+1, session, messageQueue.poll());
             }
         }
     }
@@ -558,21 +557,14 @@
             AbstractProtocolEncoderOutput {
         private final IoSession session;
         
-        private final int index;
-
-        private final IoFilter nextFilter;
-
         private final WriteRequest writeRequest;
 
-        public ProtocolEncoderOutputImpl(IoSession session, int index,
-                IoFilter nextFilter, WriteRequest writeRequest) {
+        public ProtocolEncoderOutputImpl(IoSession session, WriteRequest writeRequest) {
             this.session = session;
-            this.index = index;
-            this.nextFilter = nextFilter;
             this.writeRequest = writeRequest;
         }
 
-        public WriteFuture flush() throws Exception {
+        public WriteFuture flush(int index) throws Exception {
             Queue<Object> bufferQueue = getMessageQueue();
             WriteFuture future = null;
             for (;;) {
@@ -585,7 +577,8 @@
                 if (!(encodedMessage instanceof IoBuffer) ||
                         ((IoBuffer) encodedMessage).hasRemaining()) {
                     future = new DefaultWriteFuture(session);
-                    nextFilter.filterWrite(0, session, new EncodedWriteRequest(encodedMessage,
+                    IoFilter nextFilter = session.getFilterIn(index+1);
+                    nextFilter.filterWrite(index+1, session, new EncodedWriteRequest(encodedMessage,
                             future, writeRequest.getDestination()));
                 }
             }
@@ -598,7 +591,7 @@
             return future;
         }
         
-        public void flushWithoutFuture() throws Exception {
+        public void flushWithoutFuture(int index) throws Exception {
             Queue<Object> bufferQueue = getMessageQueue();
             for (;;) {
                 Object encodedMessage = bufferQueue.poll();
@@ -612,7 +605,8 @@
                     SocketAddress destination = writeRequest.getDestination();
                     WriteRequest writeRequest = new EncodedWriteRequest(
                         encodedMessage, null, destination); 
-                    nextFilter.filterWrite(index, session, writeRequest);
+                	IoFilter nextFilter = session.getFilterOut(index+1);
+                    nextFilter.filterWrite(index+1, session, writeRequest);
                 }
             }
         }

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java Mon Nov 10 05:58:11 2008
@@ -64,14 +64,14 @@
 
     private final AbstractProtocolEncoderOutput encoderOutput =
         new AbstractProtocolEncoderOutput() {
-            public WriteFuture flush() {
+            public WriteFuture flush(int index) {
                 return notWrittenFuture;
             }
     };
 
     private final AbstractProtocolDecoderOutput decoderOutput =
         new AbstractProtocolDecoderOutput() {
-            public void flush() {
+            public void flush(int index) {
             }
     };
 

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderOutput.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderOutput.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderOutput.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderOutput.java Mon Nov 10 05:58:11 2008
@@ -41,5 +41,5 @@
      * Flushes all messages you wrote via {@link #write(Object)} to
      * the next filter.
      */
-    void flush() throws Exception;
+    void flush(int index) throws Exception;
 }

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderOutput.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderOutput.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderOutput.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderOutput.java Mon Nov 10 05:58:11 2008
@@ -61,5 +61,5 @@
      *
      * @return <tt>null</tt> if there is nothing to flush at all.
      */
-    WriteFuture flush() throws Exception;
+    WriteFuture flush(int index) throws Exception;
 }
\ No newline at end of file

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java Mon Nov 10 05:58:11 2008
@@ -171,7 +171,7 @@
     public void exceptionCaught(int index, IoSession session,
             Throwable cause) throws Exception {
     	log(exceptionCaughtLevel, "EXCEPTION :", cause);
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
         nextFilter.exceptionCaught(index+1, session, cause);
     }
 
@@ -179,7 +179,7 @@
     public void messageReceived(int index, IoSession session,
             Object message) throws Exception {
     	log(messageReceivedLevel, "RECEIVED: {}", message );
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
     	nextFilter.messageReceived(index+1, session, message);
     }
 
@@ -187,7 +187,7 @@
     public void messageSent(int index, IoSession session,
             WriteRequest writeRequest) throws Exception {
     	log(messageSentLevel, "SENT: {}", writeRequest.getMessage() );
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
         nextFilter.messageSent(index+1, session, writeRequest);
     }
 
@@ -195,7 +195,7 @@
     public void sessionCreated(int index, IoSession session)
     		throws Exception {
     	log(sessionCreatedLevel, "CREATED");
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
         nextFilter.sessionCreated(index+1, session);
     }
 
@@ -203,7 +203,7 @@
     public void sessionOpened(int index, IoSession session)
     throws Exception {
     	log(sessionOpenedLevel, "OPENED");
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
         nextFilter.sessionOpened(index+1, session);
     }
 
@@ -211,14 +211,14 @@
     public void sessionIdle(int index, IoSession session,
             IdleStatus status) throws Exception {
     	log(sessionIdleLevel, "IDLE");
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
         nextFilter.sessionIdle(index+1, session, status);
     }
 
     @Override
     public void sessionClosed(int index, IoSession session) throws Exception {
     	log(sessionClosedLevel, "CLOSED");
-    	IoFilter nextFilter = session.getFilterIn(index);
+    	IoFilter nextFilter = session.getFilterIn(index+1);
         nextFilter.sessionClosed(index+1, session);
     }
     

Modified: mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/util/CommonEventFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/util/CommonEventFilter.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/util/CommonEventFilter.java (original)
+++ mina/branches/mina-new-chain2/core/src/main/java/org/apache/mina/filter/util/CommonEventFilter.java Mon Nov 10 05:58:11 2008
@@ -77,11 +77,11 @@
 
     @Override
     public final void filterWrite(int index, IoSession session, WriteRequest writeRequest) throws Exception {
-        filter(new IoFilterEvent(index, IoEventType.WRITE, session, writeRequest));
+        filter(new IoFilterEvent(index+1, IoEventType.WRITE, session, writeRequest));
     }
 
     @Override
     public final void filterClose(int index, IoSession session) throws Exception {
-        filter(new IoFilterEvent(index, IoEventType.CLOSE, session, null));
+        filter(new IoFilterEvent(index+1, IoEventType.CLOSE, session, null));
     }
 }

Modified: mina/branches/mina-new-chain2/example/src/main/java/org/apache/mina/example/chat/Main.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-new-chain2/example/src/main/java/org/apache/mina/example/chat/Main.java?rev=712661&r1=712660&r2=712661&view=diff
==============================================================================
--- mina/branches/mina-new-chain2/example/src/main/java/org/apache/mina/example/chat/Main.java (original)
+++ mina/branches/mina-new-chain2/example/src/main/java/org/apache/mina/example/chat/Main.java Mon Nov 10 05:58:11 2008
@@ -70,7 +70,7 @@
         // Bind
         acceptor.setHandler(new ChatProtocolHandler());
         acceptor.bind(new InetSocketAddress(PORT));
-
+        
         System.out.println("Listening on port " + PORT);
     }