Author: trustin
Date: Wed Jan 17 23:24:34 2007
New Revision: 497328
URL: http://svn.apache.org/viewvc?view=rev&rev=497328
Log:
Resolved issue: DIRMINA-16 (org.apache.mina.common.TransportType)
* Changed TransportType into an interface
* Added TransportType.getAddressType()
* Added TransportType.getSessionConfigType()
* Removed transport type registry feature because it's not used anywhere
** Removed the related unit test
Added:
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
(with props)
Removed:
mina/trunk/core/src/test/java/org/apache/mina/common/TransportTypeTest.java
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java
mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.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/support/DatagramAcceptorDelegate.java
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java Wed Jan
17 23:24:34 2007
@@ -32,6 +32,11 @@
public interface IoService
{
/**
+ * Returns the [EMAIL PROTECTED] TransportType} that this service runs on.
+ */
+ TransportType getTransportType();
+
+ /**
* Adds an [EMAIL PROTECTED] IoServiceListener} that listens any events
related with
* this service.
*/
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java Wed
Jan 17 23:24:34 2007
@@ -19,204 +19,73 @@
*/
package org.apache.mina.common;
-import java.io.InvalidObjectException;
-import java.io.ObjectStreamException;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+
+import org.apache.mina.common.support.DefaultTransportType;
+import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
+import org.apache.mina.transport.socket.nio.SocketSessionConfig;
+import org.apache.mina.transport.vmpipe.VmPipeAddress;
+import org.apache.mina.transport.vmpipe.VmPipeSessionConfig;
/**
- * Represents network transport types.
- * MINA provides three transport types by default:
- * <ul>
- * <li>[EMAIL PROTECTED] #SOCKET} - TCP/IP</li>
- * <li>[EMAIL PROTECTED] #DATAGRAM} - UDP/IP</li>
- * <li>[EMAIL PROTECTED] #VM_PIPE} - in-VM pipe support (only available in
protocol
- * layer</li>
- * </ul>
- * <p>
- * You can also create your own transport type. Please refer to
- * [EMAIL PROTECTED] #TransportType(String[], boolean)}.
+ * Represents a network transport type and its related metadata.
*
* @author The Apache MINA Project ([email protected])
* @version $Rev$, $Date$
*/
-public final class TransportType implements Serializable
-{
- private static final long serialVersionUID = 3258132470497883447L;
-
- private static final Map<String, TransportType> name2type = new
HashMap<String, TransportType>();
-
- private static void register( String[] names, TransportType type )
- {
- synchronized( name2type )
- {
- for( int i = names.length - 1; i >= 0; i -- )
- {
- if( name2type.containsKey( names[i] ) )
- {
- throw new IllegalArgumentException(
- "Transport type name '" + names[i] + "' is already
taken." );
- }
- }
-
- for( int i = names.length - 1; i >= 0; i -- )
- {
- name2type.put( names[i].toUpperCase(), type );
- }
- }
- }
-
+public interface TransportType {
+
/**
- * Transport type: TCP/IP (Registry name: <tt>"SOCKET"</tt> or
<tt>"TCP"</tt>)
+ * A pre-defined transport type for TCP/IP socket transport.
*/
- public static final TransportType SOCKET =
- new TransportType( new String[] { "SOCKET", "TCP" }, false );
-
+ static TransportType SOCKET =
+ new DefaultTransportType(
+ "socket", false,
+ InetSocketAddress.class, ByteBuffer.class,
+ SocketSessionConfig.class);
+
/**
- * Transport type: UDP/IP (Registry name: <tt>"DATAGRAM"</tt> or
<tt>"UDP"</tt>)
+ * A pre-defined transport type for UDP/IP datagram transport.
*/
- public static final TransportType DATAGRAM =
- new TransportType( new String[] { "DATAGRAM", "UDP" }, true );
-
+ static TransportType DATAGRAM =
+ new DefaultTransportType(
+ "datagram", true,
+ InetSocketAddress.class, ByteBuffer.class,
+ DatagramSessionConfig.class);
+
/**
- * Transport type: in-VM pipe (Registry name: <tt>"VM_PIPE"</tt>)
- * Please refer to
- * <a
href="../protocol/vmpipe/package-summary.htm"><tt>org.apache.mina.protocol.vmpipe</tt></a>
- * package.
+ * A pre-defined transport type for in-VM pipe transport.
*/
- public static final TransportType VM_PIPE =
- new TransportType( new String[] { "VM_PIPE" }, Object.class, false );
+ static TransportType VM_PIPE =
+ new DefaultTransportType(
+ "vmpipe", false,
+ VmPipeAddress.class, Object.class,
+ VmPipeSessionConfig.class);
-
/**
- * Returns the transport type of the specified name.
- * All names are case-insensitive.
- *
- * @param name the name of the transport type
- * @return the transport type
- * @throws IllegalArgumentException if the specified name is not available.
- */
- public static TransportType getInstance( String name )
- {
- TransportType type = name2type.get( name.toUpperCase() );
- if( type != null )
- {
- return type;
- }
-
- throw new IllegalArgumentException("Unknown transport type name: " +
name);
- }
-
- private final String[] names;
-
- private final transient boolean connectionless;
+ * Returns the name of this transport type.
+ */
+ String getName();
- private final transient Class<? extends Object> envelopeType;
-
- /**
- * Creates a new instance. New transport type is automatically registered
- * to internal registry so that you can look it up using [EMAIL PROTECTED]
#getInstance(String)}.
- *
- * @param names the name or aliases of this transport type
- * @param connectionless <tt>true</tt> if and only if this transport type
is connectionless
- *
- * @throws IllegalArgumentException if <tt>names</tt> are already
registered or empty
- */
- public TransportType( String[] names, boolean connectionless )
- {
- this( names, ByteBuffer.class, connectionless );
- }
-
- /**
- * Creates a new instance. New transport type is automatically registered
- * to internal registry so that you can look it up using [EMAIL PROTECTED]
#getInstance(String)}.
- *
- * @param names the name or aliases of this transport type
- * @param connectionless <tt>true</tt> if and only if this transport type
is connectionless
- *
- * @throws IllegalArgumentException if <tt>names</tt> are already
registered or empty
- */
- public TransportType( String[] names, Class<? extends Object>
envelopeType, boolean connectionless )
- {
- if( names == null )
- {
- throw new NullPointerException( "names" );
- }
- if( names.length == 0 )
- {
- throw new IllegalArgumentException( "names is empty" );
- }
- if( envelopeType == null )
- {
- throw new NullPointerException( "envelopeType" );
- }
-
- for( int i = 0; i < names.length; i ++ )
- {
- if( names[ i ] == null )
- {
- throw new NullPointerException( "strVals[" + i + "]" );
- }
-
- names[ i ] = names[ i ].toUpperCase();
- }
-
- register( names, this );
- this.names = names;
- this.connectionless = connectionless;
- this.envelopeType = envelopeType;
- }
-
/**
* Returns <code>true</code> if the session of this transport type is
* connectionless.
*/
- public boolean isConnectionless()
- {
- return connectionless;
- }
-
- public Class<? extends Object> getEnvelopeType()
- {
- return envelopeType;
- }
-
- /**
- * Returns the known names of this transport type.
- */
- public Set<String> getNames()
- {
- Set<String> result = new TreeSet<String>();
- for( int i = names.length - 1; i >= 0; i -- )
- {
- result.add( names[ i ] );
- }
-
- return result;
- }
+ boolean isConnectionless();
- public String toString()
- {
- return names[0];
- }
-
- private Object readResolve() throws ObjectStreamException
- {
- for( int i = names.length - 1; i >= 0; i -- )
- {
- try
- {
- return getInstance( names[ i ] );
- }
- catch( IllegalArgumentException e )
- {
- // ignore
- }
- }
-
- throw new InvalidObjectException( "Unknown transport type." );
- }
+ /**
+ * Returns the address type of this transport type.
+ */
+ Class<? extends SocketAddress> getAddressType();
+
+ /**
+ * Returns the type of the envelope message of this transport type.
+ */
+ Class<? extends Object> getEnvelopeType();
+
+ /**
+ * Returns the type of the [EMAIL PROTECTED] IoSessionConfig} of this
transport type.
+ */
+ Class<? extends IoSessionConfig> getSessionConfigType();
}
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java
Wed Jan 17 23:24:34 2007
@@ -56,11 +56,13 @@
public void setLocalAddress( SocketAddress localAddress )
{
- if( localAddress != null && !getAddressType().isAssignableFrom(
localAddress.getClass() ) )
+ if( localAddress != null &&
+ !getTransportType().getAddressType().isAssignableFrom(
+ localAddress.getClass() ) )
{
throw new IllegalArgumentException(
"localAddress type: " + localAddress.getClass() +
- " (expected: " + getAddressType() + ")");
+ " (expected: " + getTransportType().getAddressType() +
")");
}
synchronized( bindLock )
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java
Wed Jan 17 23:24:34 2007
@@ -69,18 +69,21 @@
if( remoteAddress == null )
throw new NullPointerException( "remoteAddress" );
- if( !getAddressType().isAssignableFrom( remoteAddress.getClass() ) )
+ if( !getTransportType().getAddressType().isAssignableFrom(
+ remoteAddress.getClass() ) )
{
throw new IllegalArgumentException(
"remoteAddress type: " + remoteAddress.getClass() +
- " (expected: " + getAddressType() + ")");
+ " (expected: " + getTransportType().getAddressType() +
")");
}
- if( localAddress != null && !getAddressType().isAssignableFrom(
localAddress.getClass() ) )
+ if( localAddress != null &&
+ !getTransportType().getAddressType().isAssignableFrom(
+ localAddress.getClass() ) )
{
throw new IllegalArgumentException(
"localAddress type: " + localAddress.getClass() +
- " (expected: " + getAddressType() + ")");
+ " (expected: " + getTransportType().getAddressType() +
")");
}
if( getHandler() == null )
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java
Wed Jan 17 23:24:34 2007
@@ -19,7 +19,6 @@
*/
package org.apache.mina.common.support;
-import java.net.SocketAddress;
import java.util.Set;
import org.apache.mina.common.DefaultIoFilterChainBuilder;
@@ -63,16 +62,6 @@
setSessionConfig( sessionConfig );
}
- /**
- * Returns the type of [EMAIL PROTECTED] SocketAddress} this service uses.
- */
- protected abstract Class<? extends SocketAddress> getAddressType();
-
- /**
- * Returns the type of [EMAIL PROTECTED] IoSessionConfig} this service
uses.
- */
- protected abstract Class<? extends IoSessionConfig> getSessionConfigType();
-
public IoFilterChainBuilder getFilterChainBuilder()
{
return filterChainBuilder;
@@ -146,11 +135,11 @@
{
throw new NullPointerException( "sessionConfig" );
}
- if( ! getSessionConfigType().isAssignableFrom(
sessionConfig.getClass() ) )
+ if( ! getTransportType().getSessionConfigType().isAssignableFrom(
sessionConfig.getClass() ) )
{
throw new IllegalArgumentException( "sessionConfig type: "
+ sessionConfig.getClass()
- + " (expected: " + getSessionConfigType() + ")" );
+ + " (expected: " +
getTransportType().getSessionConfigType() + ")" );
}
this.sessionConfig = sessionConfig;
}
Added:
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java?view=auto&rev=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
(added)
+++
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
Wed Jan 17 23:24:34 2007
@@ -0,0 +1,100 @@
+/*
+ * 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.common.support;
+
+import java.net.SocketAddress;
+
+import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
+
+/**
+ * A default immutable implementation of [EMAIL PROTECTED] TransportType}.
+ *
+ * @author The Apache MINA Project ([email protected])
+ * @version $Rev$, $Date$
+ */
+public class DefaultTransportType implements TransportType {
+
+ private final String name;
+ private final boolean connectionless;
+ private final Class<? extends SocketAddress> addressType;
+ private final Class<? extends Object> envelopeType;
+ private final Class<? extends IoSessionConfig> sessionConfigType;
+
+ public DefaultTransportType(
+ String name,
+ boolean connectionless,
+ Class<? extends SocketAddress> addressType,
+ Class<? extends Object> envelopeType,
+ Class<? extends IoSessionConfig> sessionConfigType) {
+
+ if (name == null) {
+ throw new NullPointerException("name");
+ }
+
+ name = name.trim();
+
+ if (name.length() == 0) {
+ throw new IllegalArgumentException("name is empty.");
+ }
+
+ if (addressType == null) {
+ throw new NullPointerException("addressType");
+ }
+
+ if (envelopeType == null) {
+ throw new NullPointerException("envelopeType");
+ }
+
+ if (sessionConfigType == null) {
+ throw new NullPointerException("sessionConfigType");
+ }
+
+ this.name = name;
+ this.connectionless = connectionless;
+ this.addressType = addressType;
+ this.envelopeType = envelopeType;
+ this.sessionConfigType = sessionConfigType;
+ }
+
+ public Class<? extends SocketAddress> getAddressType() {
+ return addressType;
+ }
+
+ public Class<? extends Object> getEnvelopeType() {
+ return envelopeType;
+ }
+
+ public Class<? extends IoSessionConfig> getSessionConfigType() {
+ return sessionConfigType;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public boolean isConnectionless() {
+ return connectionless;
+ }
+
+ public String toString() {
+ return name;
+ }
+}
Propchange:
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java
Wed Jan 17 23:24:34 2007
@@ -30,6 +30,7 @@
import org.apache.mina.common.IoServiceListener;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
/**
* A delegated [EMAIL PROTECTED] IoAcceptor} that wraps the other [EMAIL
PROTECTED] IoAcceptor}.
@@ -145,5 +146,9 @@
public boolean isBound()
{
return delegate.isBound();
+ }
+
+ public TransportType getTransportType() {
+ return delegate.getTransportType();
}
}
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java
Wed Jan 17 23:24:34 2007
@@ -29,6 +29,7 @@
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.IoServiceListener;
import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
/**
* A delegated [EMAIL PROTECTED] IoConnector} that wraps the other [EMAIL
PROTECTED] IoConnector}.
@@ -129,5 +130,9 @@
public void setHandler( IoHandler handler )
{
delegate.setHandler( handler );
+ }
+
+ public TransportType getTransportType() {
+ return delegate.getTransportType();
}
}
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?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
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
Wed Jan 17 23:24:34 2007
@@ -20,7 +20,6 @@
package org.apache.mina.transport.socket.nio;
import java.io.IOException;
-import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.SocketAddress;
import java.nio.channels.SelectionKey;
@@ -36,8 +35,8 @@
import org.apache.mina.common.ExceptionMonitor;
import org.apache.mina.common.IoAcceptor;
import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionConfig;
import org.apache.mina.common.RuntimeIOException;
+import org.apache.mina.common.TransportType;
import org.apache.mina.common.support.BaseIoAcceptor;
import org.apache.mina.common.support.IoServiceListenerSupport;
import org.apache.mina.util.NamePreservingRunnable;
@@ -156,15 +155,8 @@
}
}
- protected Class<? extends SocketAddress> getAddressType()
- {
- return InetSocketAddress.class;
- }
-
- @Override
- protected Class<? extends IoSessionConfig> getSessionConfigType()
- {
- return SocketSessionConfig.class;
+ public TransportType getTransportType() {
+ return TransportType.SOCKET;
}
/**
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?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
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
Wed Jan 17 23:24:34 2007
@@ -21,7 +21,6 @@
import java.io.IOException;
import java.net.ConnectException;
-import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
@@ -35,8 +34,8 @@
import org.apache.mina.common.ConnectFuture;
import org.apache.mina.common.ExceptionMonitor;
import org.apache.mina.common.IoConnector;
-import org.apache.mina.common.IoSessionConfig;
import org.apache.mina.common.RuntimeIOException;
+import org.apache.mina.common.TransportType;
import org.apache.mina.common.support.AbstractIoFilterChain;
import org.apache.mina.common.support.BaseIoConnector;
import org.apache.mina.common.support.DefaultConnectFuture;
@@ -123,16 +122,9 @@
ExceptionMonitor.getInstance().exceptionCaught( e );
}
}
-
- protected Class<? extends SocketAddress> getAddressType()
- {
- return InetSocketAddress.class;
- }
-
- @Override
- protected Class<? extends IoSessionConfig> getSessionConfigType()
- {
- return SocketSessionConfig.class;
+
+ public TransportType getTransportType() {
+ return TransportType.SOCKET;
}
/**
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
Wed Jan 17 23:24:34 2007
@@ -20,7 +20,6 @@
package org.apache.mina.transport.socket.nio.support;
import java.io.IOException;
-import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.nio.channels.DatagramChannel;
import java.nio.channels.SelectionKey;
@@ -36,9 +35,9 @@
import org.apache.mina.common.ExpiringSessionRecycler;
import org.apache.mina.common.IoAcceptor;
import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionConfig;
import org.apache.mina.common.IoSessionRecycler;
import org.apache.mina.common.RuntimeIOException;
+import org.apache.mina.common.TransportType;
import org.apache.mina.common.IoFilter.WriteRequest;
import org.apache.mina.common.support.BaseIoAcceptor;
import org.apache.mina.common.support.IoServiceListenerSupport;
@@ -102,16 +101,9 @@
ExceptionMonitor.getInstance().exceptionCaught( e );
}
}
-
- protected Class<? extends SocketAddress> getAddressType()
- {
- return InetSocketAddress.class;
- }
-
- @Override
- protected Class<? extends IoSessionConfig> getSessionConfigType()
- {
- return DatagramSessionConfig.class;
+
+ public TransportType getTransportType() {
+ return TransportType.DATAGRAM;
}
protected void doBind() throws IOException
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
Wed Jan 17 23:24:34 2007
@@ -20,7 +20,6 @@
package org.apache.mina.transport.socket.nio.support;
import java.io.IOException;
-import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.nio.channels.DatagramChannel;
import java.nio.channels.SelectionKey;
@@ -36,8 +35,8 @@
import org.apache.mina.common.ExceptionMonitor;
import org.apache.mina.common.IoConnector;
import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionConfig;
import org.apache.mina.common.RuntimeIOException;
+import org.apache.mina.common.TransportType;
import org.apache.mina.common.IoFilter.WriteRequest;
import org.apache.mina.common.support.AbstractIoFilterChain;
import org.apache.mina.common.support.BaseIoConnector;
@@ -99,15 +98,8 @@
}
}
- protected Class<? extends SocketAddress> getAddressType()
- {
- return InetSocketAddress.class;
- }
-
- @Override
- protected Class<? extends IoSessionConfig> getSessionConfigType()
- {
- return DatagramSessionConfig.class;
+ public TransportType getTransportType() {
+ return TransportType.DATAGRAM;
}
protected ConnectFuture doConnect( SocketAddress remoteAddress,
SocketAddress localAddress )
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
Wed Jan 17 23:24:34 2007
@@ -26,7 +26,7 @@
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
import org.apache.mina.common.support.BaseIoAcceptor;
import org.apache.mina.transport.vmpipe.support.VmPipe;
@@ -49,15 +49,8 @@
super( new DefaultVmPipeSessionConfig() );
}
- protected Class<? extends SocketAddress> getAddressType()
- {
- return VmPipeAddress.class;
- }
-
- @Override
- protected Class<? extends IoSessionConfig> getSessionConfigType()
- {
- return VmPipeSessionConfig.class;
+ public TransportType getTransportType() {
+ return TransportType.VM_PIPE;
}
protected void doBind() throws IOException
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
Wed Jan 17 23:24:34 2007
@@ -26,7 +26,7 @@
import org.apache.mina.common.ExceptionMonitor;
import org.apache.mina.common.IoFilterChain;
import org.apache.mina.common.IoHandler;
-import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
import org.apache.mina.common.support.AbstractIoFilterChain;
import org.apache.mina.common.support.BaseIoConnector;
import org.apache.mina.common.support.DefaultConnectFuture;
@@ -53,15 +53,8 @@
super( new DefaultVmPipeSessionConfig() );
}
- protected Class<? extends SocketAddress> getAddressType()
- {
- return VmPipeAddress.class;
- }
-
- @Override
- protected Class<? extends IoSessionConfig> getSessionConfigType()
- {
- return VmPipeSessionConfig.class;
+ public TransportType getTransportType() {
+ return TransportType.VM_PIPE;
}
protected ConnectFuture doConnect( SocketAddress remoteAddress,
SocketAddress localAddress )
Modified:
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java
(original)
+++
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java
Wed Jan 17 23:24:34 2007
@@ -28,8 +28,8 @@
import org.apache.mina.transport.AbstractTrafficControlTest;
/**
- * Tests suspending and resuming reads and writes for the
- * [EMAIL PROTECTED] org.apache.mina.common.TransportType#DATAGRAM} transport
type.
+ * Tests suspending and resuming reads and writes for the datagram
+ * transport type.
*
* @author The Apache MINA Project ([email protected])
* @version $Id$
Modified:
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java
(original)
+++
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java
Wed Jan 17 23:24:34 2007
@@ -28,8 +28,8 @@
import org.apache.mina.transport.AbstractTrafficControlTest;
/**
- * Tests suspending and resuming reads and writes for the
- * [EMAIL PROTECTED] org.apache.mina.common.TransportType#SOCKET} transport
type.
+ * Tests suspending and resuming reads and writes for the socket transport
+ * type.
*
* @author The Apache MINA Project ([email protected])
* @version $Id$
Modified:
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
---
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java
(original)
+++
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java
Wed Jan 17 23:24:34 2007
@@ -27,8 +27,8 @@
import org.apache.mina.transport.AbstractTrafficControlTest;
/**
- * Tests suspending and resuming reads and writes for the
- * [EMAIL PROTECTED] org.apache.mina.common.TransportType#VM_PIPE} transport
type.
+ * Tests suspending and resuming reads and writes for the VM pipe transport
+ * type.
*
* @author The Apache MINA Project ([email protected])
* @version $Id$