You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jv...@apache.org on 2012/05/24 16:55:27 UTC

svn commit: r1342287 - in /mina/trunk: core/src/main/java/org/apache/mina/api/ core/src/main/java/org/apache/mina/filter/codec/ core/src/test/java/org/apache/mina/session/ examples/src/main/java/org/apache/mina/examples/http/ examples/src/main/java/org...

Author: jvermillard
Date: Thu May 24 14:55:26 2012
New Revision: 1342287

URL: http://svn.apache.org/viewvc?rev=1342287&view=rev
Log:
DefaultIoFilter =>AbstractIoFilter

Added:
    mina/trunk/core/src/main/java/org/apache/mina/api/AbstractIoFilter.java   (contents, props changed)
      - copied, changed from r1341901, mina/trunk/core/src/main/java/org/apache/mina/api/DefaultIoFilter.java
    mina/trunk/examples/src/main/java/org/apache/mina/examples/udpecho/
    mina/trunk/examples/src/main/java/org/apache/mina/examples/udpecho/NioUdpEchoServer.java   (with props)
Removed:
    mina/trunk/core/src/main/java/org/apache/mina/api/DefaultIoFilter.java
Modified:
    mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
    mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java
    mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpTest.java
    mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpsTest.java
    mina/trunk/examples/src/main/java/org/apache/mina/examples/ldap/LdapTest.java

Copied: mina/trunk/core/src/main/java/org/apache/mina/api/AbstractIoFilter.java (from r1341901, mina/trunk/core/src/main/java/org/apache/mina/api/DefaultIoFilter.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/api/AbstractIoFilter.java?p2=mina/trunk/core/src/main/java/org/apache/mina/api/AbstractIoFilter.java&p1=mina/trunk/core/src/main/java/org/apache/mina/api/DefaultIoFilter.java&r1=1341901&r2=1342287&rev=1342287&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/api/DefaultIoFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/api/AbstractIoFilter.java Thu May 24 14:55:26 2012
@@ -26,7 +26,7 @@ import org.apache.mina.filterchain.Write
  * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public abstract class DefaultIoFilter implements IoFilter {
+public abstract class AbstractIoFilter implements IoFilter {
 
     @Override
     public void sessionCreated(IoSession session) {

Propchange: mina/trunk/core/src/main/java/org/apache/mina/api/AbstractIoFilter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?rev=1342287&r1=1342286&r2=1342287&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Thu May 24 14:55:26 2012
@@ -21,7 +21,7 @@ package org.apache.mina.filter.codec;
 
 import java.nio.ByteBuffer;
 
-import org.apache.mina.api.DefaultIoFilter;
+import org.apache.mina.api.AbstractIoFilter;
 import org.apache.mina.api.IoFilter;
 import org.apache.mina.api.IoSession;
 import org.apache.mina.filterchain.ReadFilterChainController;
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
  *
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public class ProtocolCodecFilter extends DefaultIoFilter {
+public class ProtocolCodecFilter extends AbstractIoFilter {
     /** A logger for this class */
     private static final Logger LOGGER = LoggerFactory.getLogger(ProtocolCodecFilter.class);
 

Modified: mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java?rev=1342287&r1=1342286&r2=1342287&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java Thu May 24 14:55:26 2012
@@ -27,7 +27,7 @@ import java.nio.ByteBuffer;
 
 import junit.framework.Assert;
 
-import org.apache.mina.api.DefaultIoFilter;
+import org.apache.mina.api.AbstractIoFilter;
 import org.apache.mina.api.IoFilter;
 import org.apache.mina.api.IoFuture;
 import org.apache.mina.api.IoService;
@@ -231,7 +231,7 @@ public class AbstractIoSessionTest {
         assertEquals(1024, session.getWrittenBytes());
     }
 
-    private class PassthruFilter extends DefaultIoFilter {
+    private class PassthruFilter extends AbstractIoFilter {
 
     }
 }

Modified: mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpTest.java?rev=1342287&r1=1342286&r2=1342287&view=diff
==============================================================================
--- mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpTest.java (original)
+++ mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpTest.java Thu May 24 14:55:26 2012
@@ -26,7 +26,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.mina.api.DefaultIoFilter;
+import org.apache.mina.api.AbstractIoFilter;
 import org.apache.mina.api.IoSession;
 import org.apache.mina.filter.logging.LoggingFilter;
 import org.apache.mina.filterchain.ReadFilterChainController;
@@ -66,7 +66,7 @@ public class HttpTest {
 
     }
 
-    private static class DummyHttpSever extends DefaultIoFilter {
+    private static class DummyHttpSever extends AbstractIoFilter {
 
         private HttpRequest incomingRequest;
 

Modified: mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpsTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpsTest.java?rev=1342287&r1=1342286&r2=1342287&view=diff
==============================================================================
--- mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpsTest.java (original)
+++ mina/trunk/examples/src/main/java/org/apache/mina/examples/http/HttpsTest.java Thu May 24 14:55:26 2012
@@ -26,7 +26,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.mina.api.DefaultIoFilter;
+import org.apache.mina.api.AbstractIoFilter;
 import org.apache.mina.api.IoSession;
 import org.apache.mina.filter.logging.LoggingFilter;
 import org.apache.mina.filterchain.ReadFilterChainController;
@@ -69,7 +69,7 @@ public class HttpsTest {
 
     }
 
-    private static class DummyHttpSever extends DefaultIoFilter {
+    private static class DummyHttpSever extends AbstractIoFilter {
 
         private HttpRequest incomingRequest;
 

Modified: mina/trunk/examples/src/main/java/org/apache/mina/examples/ldap/LdapTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/examples/src/main/java/org/apache/mina/examples/ldap/LdapTest.java?rev=1342287&r1=1342286&r2=1342287&view=diff
==============================================================================
--- mina/trunk/examples/src/main/java/org/apache/mina/examples/ldap/LdapTest.java (original)
+++ mina/trunk/examples/src/main/java/org/apache/mina/examples/ldap/LdapTest.java Thu May 24 14:55:26 2012
@@ -34,7 +34,7 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.model.message.ResultCodeEnum;
 import org.apache.directory.shared.ldap.model.message.SearchRequest;
 import org.apache.directory.shared.ldap.model.message.UnbindRequest;
-import org.apache.mina.api.DefaultIoFilter;
+import org.apache.mina.api.AbstractIoFilter;
 import org.apache.mina.api.IoSession;
 import org.apache.mina.filter.logging.LoggingFilter;
 import org.apache.mina.filterchain.ReadFilterChainController;
@@ -66,7 +66,7 @@ public class LdapTest {
 
     }
 
-    private class DummyLdapServer extends DefaultIoFilter {
+    private class DummyLdapServer extends AbstractIoFilter {
         @Override
         public void messageReceived(IoSession session, Object message, ReadFilterChainController controller) {
             if (message instanceof AbandonRequest) {

Added: mina/trunk/examples/src/main/java/org/apache/mina/examples/udpecho/NioUdpEchoServer.java
URL: http://svn.apache.org/viewvc/mina/trunk/examples/src/main/java/org/apache/mina/examples/udpecho/NioUdpEchoServer.java?rev=1342287&view=auto
==============================================================================
--- mina/trunk/examples/src/main/java/org/apache/mina/examples/udpecho/NioUdpEchoServer.java (added)
+++ mina/trunk/examples/src/main/java/org/apache/mina/examples/udpecho/NioUdpEchoServer.java Thu May 24 14:55:26 2012
@@ -0,0 +1,139 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+package org.apache.mina.examples.udpecho;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.nio.ByteBuffer;
+
+import org.apache.mina.api.IdleStatus;
+import org.apache.mina.api.IoFilter;
+import org.apache.mina.api.IoService;
+import org.apache.mina.api.IoServiceListener;
+import org.apache.mina.api.IoSession;
+import org.apache.mina.filter.logging.LoggingFilter;
+import org.apache.mina.filterchain.ReadFilterChainController;
+import org.apache.mina.filterchain.WriteFilterChainController;
+import org.apache.mina.service.OneThreadSelectorStrategy;
+import org.apache.mina.transport.tcp.NioSelectorProcessor;
+import org.apache.mina.transport.udp.nio.NioUdpServer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A UDP base echo server sending back every datagram received
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class NioUdpEchoServer {
+	
+	static final Logger LOG = LoggerFactory.getLogger(NioUdpEchoServer.class);
+	
+    public static void main(String[] args) {
+        LOG.info("starting echo server");
+
+        OneThreadSelectorStrategy<NioSelectorProcessor> strategy = new OneThreadSelectorStrategy<NioSelectorProcessor>(new NioSelectorProcessor());
+        
+        NioUdpServer server = new NioUdpServer(strategy);
+
+        // create the fitler chain for this service
+        server.setFilters(new LoggingFilter("LoggingFilter1"), new IoFilter() {
+
+            @Override
+            public void sessionOpened(IoSession session) {
+                LOG.info("session {} open", session);
+            }
+
+            @Override
+            public void sessionIdle(IoSession session, IdleStatus status) {
+                LOG.info("session {} idle", session);
+            }
+
+            @Override
+            public void sessionCreated(IoSession session) {
+                LOG.info("session {} created", session);
+            }
+
+            @Override
+            public void sessionClosed(IoSession session) {
+                LOG.info("session {} open", session);
+            }
+
+            @Override
+            public void messageWriting(IoSession session, Object message, WriteFilterChainController controller) {
+                // we just push the message in the chain
+                controller.callWriteNextFilter(message);
+            }
+
+            @Override
+            public void messageReceived(IoSession session, Object message, ReadFilterChainController controller) {
+
+                if (message instanceof ByteBuffer) {
+                    LOG.info("echoing");
+                    session.write(message);
+                }
+            }
+        });
+
+        server.addListeners(new IoServiceListener() {
+
+            @Override
+            public void sessionDestroyed(IoSession session) {
+                LOG.info("session destroyed {}", session);
+
+            }
+
+            @Override
+            public void sessionCreated(IoSession session) {
+                LOG.info("session created {}", session);
+
+                String welcomeStr = "welcome\n";
+                ByteBuffer bf = ByteBuffer.allocate(welcomeStr.length());
+                bf.put(welcomeStr.getBytes());
+                bf.flip();
+                session.write(bf);
+            }
+
+            @Override
+            public void serviceInactivated(IoService service) {
+                LOG.info("service deactivated {}", service);
+            }
+
+            @Override
+            public void serviceActivated(IoService service) {
+                LOG.info("service activated {}", service);
+            }
+        });
+
+        try {
+            SocketAddress address = new InetSocketAddress(9999);
+            server.bind(address);
+            LOG.debug("Running the server for 25 sec");
+            Thread.sleep(25000);
+            LOG.debug("Unbinding the UDP port");
+            server.unbind();
+        } catch (IOException e) {
+            LOG.error("I/O exception", e);
+        } catch (InterruptedException e) {
+            LOG.error("Interrupted exception", e);
+        }
+    }
+}

Propchange: mina/trunk/examples/src/main/java/org/apache/mina/examples/udpecho/NioUdpEchoServer.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain