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/04/05 11:07:56 UTC
svn commit: r525772 - in /mina:
branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/
branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/
branches/1.0/core/src/main/java/org/apache/mina/util/ branches/1.1/core/...
Author: trustin
Date: Thu Apr 5 02:07:55 2007
New Revision: 525772
URL: http://svn.apache.org/viewvc?view=rev&rev=525772
Log:
Related issue: DIRMINA-366 (Default socket option values are retrieved incorrectly.)
* Made sure the default reuseAddress value of an accepted socket to be true
* Removed unnecessary code in DatagramSessionConfig implementations
* Removed SessionUtil in trunk because it's hardly useful
* Removed a sentence in SessionUtil that sets reuseAddress to true bindly which can cause a problem for a non-acceptor session
Removed:
mina/trunk/core/src/main/java/org/apache/mina/util/SessionUtil.java
Modified:
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java
mina/branches/1.0/core/src/main/java/org/apache/mina/util/SessionUtil.java
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java
mina/branches/1.1/core/src/main/java/org/apache/mina/util/SessionUtil.java
mina/trunk/core/src/main/java/org/apache/mina/common/IoHandlerAdapter.java
mina/trunk/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.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/SocketAcceptor.java
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java Thu Apr 5 02:07:55 2007
@@ -38,9 +38,10 @@
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.IoServiceConfig;
import org.apache.mina.common.support.BaseIoAcceptor;
-import org.apache.mina.util.Queue;
-import org.apache.mina.util.NewThreadExecutor;
import org.apache.mina.util.NamePreservingRunnable;
+import org.apache.mina.util.NewThreadExecutor;
+import org.apache.mina.util.Queue;
+
import edu.emory.mathcs.backport.java.util.concurrent.Executor;
/**
@@ -96,6 +97,9 @@
{
throw new IllegalArgumentException( "Must have at least one processor" );
}
+
+ // The default reuseAddress of an accepted socket should be 'true'.
+ ( ( SocketSessionConfig ) defaultConfig.getSessionConfig() ).setReuseAddress(true);
this.executor = executor;
this.processorCount = processorCount;
Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java Thu Apr 5 02:07:55 2007
@@ -78,6 +78,9 @@
{
this.wrapper = wrapper;
this.executor = executor;
+
+ // The default reuseAddress of an accepted socket should be 'true'.
+ ( ( DatagramSessionConfig ) defaultConfig.getSessionConfig() ).setReuseAddress(true);
}
public void bind( SocketAddress address, IoHandler handler, IoServiceConfig config )
Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java Thu Apr 5 02:07:55 2007
@@ -22,7 +22,6 @@
import java.net.DatagramSocket;
import java.net.SocketException;
-import org.apache.mina.common.RuntimeIOException;
import org.apache.mina.common.support.BaseIoSessionConfig;
import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
@@ -128,32 +127,9 @@
/**
* Creates a new instance.
- *
- * @throws RuntimeIOException if failed to get the default configuration
*/
public DatagramSessionConfigImpl()
{
- DatagramSocket s = null;
- try
- {
- s = new DatagramSocket();
- broadcast = s.getBroadcast();
- reuseAddress = s.getReuseAddress();
- receiveBufferSize = s.getReceiveBufferSize();
- sendBufferSize = s.getSendBufferSize();
- trafficClass = s.getTrafficClass();
- }
- catch( SocketException e )
- {
- throw new RuntimeIOException( "Failed to get the default configuration.", e );
- }
- finally
- {
- if( s != null )
- {
- s.close();
- }
- }
}
/**
Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/util/SessionUtil.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/util/SessionUtil.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/util/SessionUtil.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/util/SessionUtil.java Thu Apr 5 02:07:55 2007
@@ -21,7 +21,6 @@
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoSessionConfig;
-import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
import org.apache.mina.transport.socket.nio.SocketSessionConfig;
/**
@@ -38,13 +37,7 @@
if( cfg instanceof SocketSessionConfig )
{
SocketSessionConfig sCfg = ( SocketSessionConfig ) cfg;
- sCfg.setReuseAddress( true );
sCfg.setKeepAlive( true );
- }
- else if( cfg instanceof DatagramSessionConfig )
- {
- DatagramSessionConfig dCfg = ( DatagramSessionConfig ) cfg;
- dCfg.setReuseAddress( true );
}
}
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java Thu Apr 5 02:07:55 2007
@@ -94,6 +94,9 @@
throw new IllegalArgumentException( "Must have at least one processor" );
}
+ // The default reuseAddress of an accepted socket should be 'true'.
+ defaultConfig.getSessionConfig().setReuseAddress(true);
+
this.executor = executor;
this.processorCount = processorCount;
ioProcessors = new SocketIoProcessor[processorCount];
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java Thu Apr 5 02:07:55 2007
@@ -81,6 +81,9 @@
{
this.wrapper = wrapper;
this.executor = executor;
+
+ // The default reuseAddress of an accepted socket should be 'true'.
+ defaultConfig.getSessionConfig().setReuseAddress(true);
}
public void bind( SocketAddress address, IoHandler handler, IoServiceConfig config )
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionConfigImpl.java Thu Apr 5 02:07:55 2007
@@ -22,7 +22,6 @@
import java.net.DatagramSocket;
import java.net.SocketException;
-import org.apache.mina.common.RuntimeIOException;
import org.apache.mina.common.support.BaseIoSessionConfig;
import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
@@ -128,32 +127,9 @@
/**
* Creates a new instance.
- *
- * @throws RuntimeIOException if failed to get the default configuration
*/
public DatagramSessionConfigImpl()
{
- DatagramSocket s = null;
- try
- {
- s = new DatagramSocket();
- broadcast = s.getBroadcast();
- reuseAddress = s.getReuseAddress();
- receiveBufferSize = s.getReceiveBufferSize();
- sendBufferSize = s.getSendBufferSize();
- trafficClass = s.getTrafficClass();
- }
- catch( SocketException e )
- {
- throw new RuntimeIOException( "Failed to get the default configuration.", e );
- }
- finally
- {
- if( s != null )
- {
- s.close();
- }
- }
}
/**
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/util/SessionUtil.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/util/SessionUtil.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/util/SessionUtil.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/util/SessionUtil.java Thu Apr 5 02:07:55 2007
@@ -21,7 +21,6 @@
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoSessionConfig;
-import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
import org.apache.mina.transport.socket.nio.SocketSessionConfig;
/**
@@ -38,13 +37,7 @@
if( cfg instanceof SocketSessionConfig )
{
SocketSessionConfig sCfg = ( SocketSessionConfig ) cfg;
- sCfg.setReuseAddress( true );
sCfg.setKeepAlive( true );
- }
- else if( cfg instanceof DatagramSessionConfig )
- {
- DatagramSessionConfig dCfg = ( DatagramSessionConfig ) cfg;
- dCfg.setReuseAddress( true );
}
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/IoHandlerAdapter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoHandlerAdapter.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoHandlerAdapter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoHandlerAdapter.java Thu Apr 5 02:07:55 2007
@@ -20,7 +20,6 @@
package org.apache.mina.common;
import org.apache.mina.util.SessionLog;
-import org.apache.mina.util.SessionUtil;
/**
* An abstract adapter class for {@link IoHandler}. You can extend this
@@ -34,7 +33,6 @@
{
public void sessionCreated( IoSession session ) throws Exception
{
- SessionUtil.initialize( session );
}
public void sessionOpened( IoSession session ) throws Exception
Modified: mina/trunk/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java Thu Apr 5 02:07:55 2007
@@ -21,7 +21,6 @@
import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoSession;
-import org.apache.mina.util.SessionUtil;
/**
* Adapter class for implementors of the {@link SingleSessionIoHandler}
@@ -81,7 +80,6 @@
public void sessionCreated() throws Exception
{
- SessionUtil.initialize( getSession() );
}
public void sessionIdle(IdleStatus status) throws Exception
Modified: 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/nio/DefaultDatagramSessionConfig.java?view=diff&rev=525772&r1=525771&r2=525772
==============================================================================
--- 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/nio/DefaultDatagramSessionConfig.java Thu Apr 5 02:07:55 2007
@@ -22,7 +22,6 @@
import java.net.DatagramSocket;
import java.net.SocketException;
-import org.apache.mina.common.RuntimeIOException;
import org.apache.mina.common.support.BaseIoSessionConfig;
/**
@@ -129,32 +128,9 @@
/**
* Creates a new instance.
- *
- * @throws RuntimeIOException if failed to get the default configuration
*/
public DefaultDatagramSessionConfig()
{
- DatagramSocket s = null;
- try
- {
- s = new DatagramSocket();
- broadcast = s.getBroadcast();
- reuseAddress = s.getReuseAddress();
- receiveBufferSize = s.getReceiveBufferSize();
- sendBufferSize = s.getSendBufferSize();
- trafficClass = s.getTrafficClass();
- }
- catch( SocketException e )
- {
- throw new RuntimeIOException( "Failed to get the default configuration.", e );
- }
- finally
- {
- if( s != null )
- {
- s.close();
- }
- }
}
/**
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=525772&r1=525771&r2=525772
==============================================================================
--- 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 Thu Apr 5 02:07:55 2007
@@ -93,6 +93,10 @@
public SocketAcceptor( int processorCount, Executor executor )
{
super( new DefaultSocketSessionConfig() );
+
+ // The default reuseAddress of an accepted socket should be 'true'.
+ getSessionConfig().setReuseAddress(true);
+
if( processorCount < 1 )
{
throw new IllegalArgumentException( "Must have at least one processor" );
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=525772&r1=525771&r2=525772
==============================================================================
--- 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 Thu Apr 5 02:07:55 2007
@@ -77,6 +77,9 @@
{
super( new DefaultDatagramSessionConfig() );
+ // The default reuseAddress should be 'true' for an accepted socket.
+ getSessionConfig().setReuseAddress(true);
+
try
{
this.selector = Selector.open();