You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/09/17 16:39:26 UTC

svn commit: r576455 - in /mina/trunk: core/src/main/java/org/apache/mina/transport/socket/ core/src/main/java/org/apache/mina/transport/socket/nio/ core/src/test/java/org/apache/mina/transport/ core/src/test/java/org/apache/mina/transport/socket/nio/ e...

Author: trustin
Date: Mon Sep 17 07:39:24 2007
New Revision: 576455

URL: http://svn.apache.org/viewvc?rev=576455&view=rev
Log:
* Moved interfaces which is independent from NIO to transport.socket
* Added IoService interfaces to transport.socket and made the classes in transport.socket.nio implement it.


Added:
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractDatagramSessionConfig.java
      - copied, changed from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractDatagramSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractSocketSessionConfig.java
      - copied, changed from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractSocketSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramAcceptor.java   (with props)
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramConnector.java   (with props)
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramService.java   (with props)
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSession.java
      - copied, changed from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSession.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSessionConfig.java
      - copied, changed from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java
      - copied, changed from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultDatagramSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java
      - copied, changed from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultSocketSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketAcceptor.java   (with props)
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketConnector.java   (with props)
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketService.java   (with props)
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSession.java
      - copied, changed from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSession.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSessionConfig.java
      - copied, changed from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionConfig.java
Removed:
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractDatagramSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractSocketSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSession.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultDatagramSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultSocketSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSession.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionConfig.java
Modified:
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramAcceptor.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramConnector.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionImpl.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramBindTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConnectorTest.java
    mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java
    mina/trunk/example/src/main/java/org/apache/mina/example/udp/MemoryMonitor.java
    mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java

Copied: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractDatagramSessionConfig.java (from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractDatagramSessionConfig.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractDatagramSessionConfig.java?p2=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractDatagramSessionConfig.java&p1=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractDatagramSessionConfig.java&r1=576440&r2=576455&rev=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractDatagramSessionConfig.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractDatagramSessionConfig.java Mon Sep 17 07:39:24 2007
@@ -17,7 +17,7 @@
  *  under the License.
  *
  */
-package org.apache.mina.transport.socket.nio;
+package org.apache.mina.transport.socket;
 
 import org.apache.mina.common.AbstractIoSessionConfig;
 import org.apache.mina.common.IoSessionConfig;
@@ -26,7 +26,7 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
  */
-abstract class AbstractDatagramSessionConfig extends
+public abstract class AbstractDatagramSessionConfig extends
         AbstractIoSessionConfig implements DatagramSessionConfig {
 
     protected AbstractDatagramSessionConfig() {

Copied: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractSocketSessionConfig.java (from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractSocketSessionConfig.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractSocketSessionConfig.java?p2=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractSocketSessionConfig.java&p1=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractSocketSessionConfig.java&r1=576440&r2=576455&rev=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/AbstractSocketSessionConfig.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/AbstractSocketSessionConfig.java Mon Sep 17 07:39:24 2007
@@ -17,7 +17,7 @@
  *  under the License.
  *
  */
-package org.apache.mina.transport.socket.nio;
+package org.apache.mina.transport.socket;
 
 import org.apache.mina.common.AbstractIoSessionConfig;
 import org.apache.mina.common.IoSessionConfig;
@@ -26,7 +26,7 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
  */
-abstract class AbstractSocketSessionConfig extends AbstractIoSessionConfig
+public abstract class AbstractSocketSessionConfig extends AbstractIoSessionConfig
         implements SocketSessionConfig {
 
     protected AbstractSocketSessionConfig() {

Added: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramAcceptor.java?rev=576455&view=auto
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramAcceptor.java (added)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramAcceptor.java Mon Sep 17 07:39:24 2007
@@ -0,0 +1,35 @@
+/*
+ *  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.transport.socket;
+
+import java.net.InetSocketAddress;
+
+import org.apache.mina.common.IoAcceptor;
+
+/**
+ * {@link IoAcceptor} for datagram transport (UDP/IP).
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ */
+public interface DatagramAcceptor extends DatagramService, IoAcceptor {
+    InetSocketAddress getLocalAddress();
+    void setLocalAddress(InetSocketAddress localAddress);
+}

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramAcceptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramAcceptor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramConnector.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramConnector.java?rev=576455&view=auto
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramConnector.java (added)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramConnector.java Mon Sep 17 07:39:24 2007
@@ -0,0 +1,31 @@
+/*
+ *  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.transport.socket;
+
+import org.apache.mina.common.IoConnector;
+
+/**
+ * {@link IoConnector} for datagram transport (UDP/IP).
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ */
+public interface DatagramConnector extends DatagramService, IoConnector {
+}

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramConnector.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramConnector.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramService.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramService.java?rev=576455&view=auto
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramService.java (added)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramService.java Mon Sep 17 07:39:24 2007
@@ -0,0 +1,32 @@
+/*
+ *  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.transport.socket;
+
+import org.apache.mina.common.IoService;
+
+/**
+ * {@link IoService} for datagram transport (UDP/IP).
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ */
+public interface DatagramService extends IoService {
+    DatagramSessionConfig getSessionConfig();
+}

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSession.java (from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSession.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSession.java?p2=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSession.java&p1=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSession.java&r1=576440&r2=576455&rev=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSession.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSession.java Mon Sep 17 07:39:24 2007
@@ -1,4 +1,4 @@
-package org.apache.mina.transport.socket.nio;
+package org.apache.mina.transport.socket;
 
 import java.net.InetSocketAddress;
 

Copied: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSessionConfig.java (from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionConfig.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSessionConfig.java?p2=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSessionConfig.java&p1=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionConfig.java&r1=576440&r2=576455&rev=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionConfig.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DatagramSessionConfig.java Mon Sep 17 07:39:24 2007
@@ -17,7 +17,7 @@
  *  under the License.
  *
  */
-package org.apache.mina.transport.socket.nio;
+package org.apache.mina.transport.socket;
 
 import java.net.DatagramSocket;
 

Copied: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java (from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultDatagramSessionConfig.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java?p2=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java&p1=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultDatagramSessionConfig.java&r1=576440&r2=576455&rev=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultDatagramSessionConfig.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java Mon Sep 17 07:39:24 2007
@@ -17,7 +17,7 @@
  *  under the License.
  *
  */
-package org.apache.mina.transport.socket.nio;
+package org.apache.mina.transport.socket;
 
 import java.net.DatagramSocket;
 import java.net.SocketException;
@@ -30,7 +30,7 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev: 439913 $, $Date: 2006-09-04 05:12:43 +0200 (mån, 04 sep 2006) $
  */
-class DefaultDatagramSessionConfig extends AbstractDatagramSessionConfig {
+public class DefaultDatagramSessionConfig extends AbstractDatagramSessionConfig {
 
     private static boolean SET_RECEIVE_BUFFER_SIZE_AVAILABLE = false;
 
@@ -126,7 +126,7 @@
     /**
      * Creates a new instance.
      */
-    DefaultDatagramSessionConfig() {
+    public DefaultDatagramSessionConfig() {
     }
 
     /**

Copied: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java (from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultSocketSessionConfig.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java?p2=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java&p1=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultSocketSessionConfig.java&r1=576440&r2=576455&rev=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DefaultSocketSessionConfig.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java Mon Sep 17 07:39:24 2007
@@ -17,7 +17,7 @@
  *  under the License.
  *
  */
-package org.apache.mina.transport.socket.nio;
+package org.apache.mina.transport.socket;
 
 import java.io.IOException;
 import java.net.InetAddress;
@@ -38,7 +38,7 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
  */
-class DefaultSocketSessionConfig extends AbstractSocketSessionConfig {
+public class DefaultSocketSessionConfig extends AbstractSocketSessionConfig {
 
     private static Map<InetSocketAddress, InetAddress> TEST_ADDRESSES = new LinkedHashMap<InetSocketAddress, InetAddress>();
 
@@ -236,7 +236,7 @@
     /**
      * Creates a new instance.
      */
-    DefaultSocketSessionConfig() {
+    public DefaultSocketSessionConfig() {
     }
 
     public boolean isReuseAddress() {

Added: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketAcceptor.java?rev=576455&view=auto
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketAcceptor.java (added)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketAcceptor.java Mon Sep 17 07:39:24 2007
@@ -0,0 +1,58 @@
+/*
+ *  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.transport.socket;
+
+import java.net.InetSocketAddress;
+import java.net.ServerSocket;
+
+import org.apache.mina.common.IoAcceptor;
+
+/**
+ * {@link IoAcceptor} for socket transport (TCP/IP).  This class
+ * handles incoming TCP/IP based socket connections.
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ */
+public interface SocketAcceptor extends SocketService, IoAcceptor {
+    public InetSocketAddress getLocalAddress();
+    public void setLocalAddress(InetSocketAddress localAddress);
+    
+    /**
+     * @see ServerSocket#getReuseAddress()
+     */
+    public boolean isReuseAddress();
+
+    /**
+     * @see ServerSocket#setReuseAddress(boolean)
+     */
+    public void setReuseAddress(boolean reuseAddress);
+
+    /**
+     * Returns the size of the backlog.
+     */
+    public int getBacklog();
+
+    /**
+     * Sets the size of the backlog.  This can only be done when this
+     * class is not bound
+     */
+    public void setBacklog(int backlog);
+}

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketAcceptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketAcceptor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketConnector.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketConnector.java?rev=576455&view=auto
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketConnector.java (added)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketConnector.java Mon Sep 17 07:39:24 2007
@@ -0,0 +1,31 @@
+/*
+ *  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.transport.socket;
+
+import org.apache.mina.common.IoConnector;
+
+/**
+ * {@link IoConnector} for socket transport (TCP/IP).
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ */
+public interface SocketConnector extends SocketService, IoConnector {
+}
\ No newline at end of file

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketConnector.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketConnector.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketService.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketService.java?rev=576455&view=auto
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketService.java (added)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketService.java Mon Sep 17 07:39:24 2007
@@ -0,0 +1,32 @@
+/*
+ *  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.transport.socket;
+
+import org.apache.mina.common.IoService;
+
+/**
+ * {@link IoService} for socket transport (TCP/IP).
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ */
+public interface SocketService extends IoService {
+    SocketSessionConfig getSessionConfig();
+}

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSession.java (from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSession.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSession.java?p2=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSession.java&p1=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSession.java&r1=576440&r2=576455&rev=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSession.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSession.java Mon Sep 17 07:39:24 2007
@@ -1,4 +1,4 @@
-package org.apache.mina.transport.socket.nio;
+package org.apache.mina.transport.socket;
 
 import java.net.InetSocketAddress;
 

Copied: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSessionConfig.java (from r576440, mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionConfig.java)
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSessionConfig.java?p2=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSessionConfig.java&p1=mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionConfig.java&r1=576440&r2=576455&rev=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionConfig.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/SocketSessionConfig.java Mon Sep 17 07:39:24 2007
@@ -17,7 +17,7 @@
  *  under the License.
  *
  */
-package org.apache.mina.transport.socket.nio;
+package org.apache.mina.transport.socket;
 
 import java.net.Socket;
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramAcceptor.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramAcceptor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramAcceptor.java Mon Sep 17 07:39:24 2007
@@ -44,6 +44,8 @@
 import org.apache.mina.common.IoSession;
 import org.apache.mina.common.RuntimeIOException;
 import org.apache.mina.common.TransportMetadata;
+import org.apache.mina.transport.socket.DatagramSessionConfig;
+import org.apache.mina.transport.socket.DefaultDatagramSessionConfig;
 import org.apache.mina.util.NamePreservingRunnable;
 import org.apache.mina.util.NewThreadExecutor;
 
@@ -54,7 +56,7 @@
  * @version $Rev$, $Date$
  */
 public class DatagramAcceptor extends AbstractIoAcceptor implements
-        IoAcceptor {
+        org.apache.mina.transport.socket.DatagramAcceptor {
 
     private static volatile int nextId = 0;
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramConnector.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramConnector.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramConnector.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramConnector.java Mon Sep 17 07:39:24 2007
@@ -37,6 +37,8 @@
 import org.apache.mina.common.IoServiceListenerSupport;
 import org.apache.mina.common.IoSession;
 import org.apache.mina.common.TransportMetadata;
+import org.apache.mina.transport.socket.DatagramSessionConfig;
+import org.apache.mina.transport.socket.DefaultDatagramSessionConfig;
 import org.apache.mina.util.NewThreadExecutor;
 
 /**
@@ -45,7 +47,9 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
  */
-public class DatagramConnector extends AbstractIoConnector {
+public class DatagramConnector extends AbstractIoConnector implements
+        org.apache.mina.transport.socket.DatagramConnector{
+
     private static volatile int nextId = 0;
 
     private final int id = nextId++;

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionImpl.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionImpl.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionImpl.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/DatagramSessionImpl.java Mon Sep 17 07:39:24 2007
@@ -36,6 +36,10 @@
 import org.apache.mina.common.RuntimeIOException;
 import org.apache.mina.common.TransportMetadata;
 import org.apache.mina.common.WriteFuture;
+import org.apache.mina.transport.socket.AbstractDatagramSessionConfig;
+import org.apache.mina.transport.socket.DatagramSession;
+import org.apache.mina.transport.socket.DatagramSessionConfig;
+import org.apache.mina.transport.socket.DefaultDatagramSessionConfig;
 
 /**
  * An {@link IoSession} for datagram transport (UDP/IP).

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java Mon Sep 17 07:39:24 2007
@@ -39,6 +39,8 @@
 import org.apache.mina.common.IoSession;
 import org.apache.mina.common.RuntimeIOException;
 import org.apache.mina.common.TransportMetadata;
+import org.apache.mina.transport.socket.DefaultSocketSessionConfig;
+import org.apache.mina.transport.socket.SocketSessionConfig;
 import org.apache.mina.util.NamePreservingRunnable;
 import org.apache.mina.util.NewThreadExecutor;
 
@@ -49,7 +51,9 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev: 389042 $, $Date: 2006-03-27 07:49:41Z $
  */
-public class SocketAcceptor extends AbstractIoAcceptor {
+public class SocketAcceptor extends AbstractIoAcceptor implements
+        org.apache.mina.transport.socket.SocketAcceptor {
+
     /**
      * @noinspection StaticNonFinalField
      */

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java Mon Sep 17 07:39:24 2007
@@ -38,6 +38,8 @@
 import org.apache.mina.common.IoConnector;
 import org.apache.mina.common.RuntimeIOException;
 import org.apache.mina.common.TransportMetadata;
+import org.apache.mina.transport.socket.DefaultSocketSessionConfig;
+import org.apache.mina.transport.socket.SocketSessionConfig;
 import org.apache.mina.util.NamePreservingRunnable;
 import org.apache.mina.util.NewThreadExecutor;
 
@@ -47,7 +49,9 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev: 389042 $, $Date: 2006-03-27 07:49:41Z $
  */
-public class SocketConnector extends AbstractIoConnector {
+public class SocketConnector extends AbstractIoConnector implements
+        org.apache.mina.transport.socket.SocketConnector {
+
     /**
      * @noinspection StaticNonFinalField
      */

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java Mon Sep 17 07:39:24 2007
@@ -35,6 +35,10 @@
 import org.apache.mina.common.IoSession;
 import org.apache.mina.common.RuntimeIOException;
 import org.apache.mina.common.TransportMetadata;
+import org.apache.mina.transport.socket.AbstractSocketSessionConfig;
+import org.apache.mina.transport.socket.DefaultSocketSessionConfig;
+import org.apache.mina.transport.socket.SocketSession;
+import org.apache.mina.transport.socket.SocketSessionConfig;
 
 /**
  * An {@link IoSession} for socket transport (TCP/IP).

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractBindTest.java Mon Sep 17 07:39:24 2007
@@ -34,10 +34,10 @@
 import org.apache.mina.common.IoConnector;
 import org.apache.mina.common.IoHandlerAdapter;
 import org.apache.mina.common.IoSession;
-import org.apache.mina.transport.socket.nio.DatagramAcceptor;
-import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
-import org.apache.mina.transport.socket.nio.SocketAcceptor;
-import org.apache.mina.transport.socket.nio.SocketSessionConfig;
+import org.apache.mina.transport.socket.DatagramAcceptor;
+import org.apache.mina.transport.socket.DatagramSessionConfig;
+import org.apache.mina.transport.socket.SocketAcceptor;
+import org.apache.mina.transport.socket.SocketSessionConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramBindTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramBindTest.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramBindTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramBindTest.java Mon Sep 17 07:39:24 2007
@@ -26,7 +26,7 @@
 import org.apache.mina.transport.AbstractBindTest;
 
 /**
- * Tests {@link DatagramAcceptor} resource leakage.
+ * Tests {@link NIODatagramAcceptor} resource leakage.
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java Mon Sep 17 07:39:24 2007
@@ -37,7 +37,7 @@
 import org.apache.mina.util.AvailablePortFinder;
 
 /**
- * Tests if {@link DatagramAcceptor} session is configured properly.
+ * Tests if {@link NIODatagramAcceptor} session is configured properly.
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConnectorTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConnectorTest.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConnectorTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConnectorTest.java Mon Sep 17 07:39:24 2007
@@ -24,7 +24,7 @@
 import org.apache.mina.transport.AbstractConnectorTest;
 
 /**
- * Tests {@link DatagramConnector}.
+ * Tests {@link NIODatagramConnector}.
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java Mon Sep 17 07:39:24 2007
@@ -25,8 +25,8 @@
 import org.apache.mina.common.IoHandlerAdapter;
 import org.apache.mina.common.IoSession;
 import org.apache.mina.filter.ssl.SSLFilter;
-import org.apache.mina.transport.socket.nio.SocketSession;
-import org.apache.mina.transport.socket.nio.SocketSessionConfig;
+import org.apache.mina.transport.socket.SocketSession;
+import org.apache.mina.transport.socket.SocketSessionConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/udp/MemoryMonitor.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/udp/MemoryMonitor.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/udp/MemoryMonitor.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/udp/MemoryMonitor.java Mon Sep 17 07:39:24 2007
@@ -33,8 +33,8 @@
 
 import org.apache.mina.common.DefaultIoFilterChainBuilder;
 import org.apache.mina.filter.logging.LoggingFilter;
+import org.apache.mina.transport.socket.DatagramSessionConfig;
 import org.apache.mina.transport.socket.nio.DatagramAcceptor;
-import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
 
 /**
  * The class that will accept and process clients in order to properly

Modified: mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java?rev=576455&r1=576454&r2=576455&view=diff
==============================================================================
--- mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java (original)
+++ mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java Mon Sep 17 07:39:24 2007
@@ -31,8 +31,8 @@
 import org.apache.mina.common.IoSessionLogger;
 import org.apache.mina.example.echoserver.ssl.BogusSSLContextFactory;
 import org.apache.mina.filter.ssl.SSLFilter;
+import org.apache.mina.transport.socket.DatagramSessionConfig;
 import org.apache.mina.transport.socket.nio.DatagramAcceptor;
-import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
 import org.apache.mina.transport.socket.nio.SocketAcceptor;
 
 /**