You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jv...@apache.org on 2011/10/12 15:19:57 UTC

svn commit: r1182351 - in /mina/trunk/core/src/main/java/org/apache/mina: api/ filter/codec/ transport/tcp/ transport/tcp/bio/ transport/tcp/nio/ transport/udp/ transport/udp/bio/ transport/udp/nio/

Author: jvermillard
Date: Wed Oct 12 13:19:57 2011
New Revision: 1182351

URL: http://svn.apache.org/viewvc?rev=1182351&view=rev
Log:
DIRMINA-863
nullable struture for socket configuration, null value means use default system configuration

Modified:
    mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/DefaultSocketSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/SocketSessionConfig.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java Wed Oct 12 13:19:57 2011
@@ -73,4 +73,9 @@ public interface IoService {
      */
     void setFilters(IoFilter... filters);
 
+    /**
+     * Returns the default configuration of the new {@link IoSession}s
+     * created by this service.
+     */
+    IoSessionConfig getSessionConfig();
 }

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Wed Oct 12 13:19:57 2011
@@ -19,7 +19,6 @@
  */
 package org.apache.mina.filter.codec;
 
-
 import java.nio.ByteBuffer;
 
 import org.apache.mina.api.IdleStatus;
@@ -36,7 +35,6 @@ import org.slf4j.LoggerFactory;
  * {@link ProtocolEncoder}, or {@link ProtocolDecoder}.
  *
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
- * @org.apache.xbean.XBean
  */
 public class ProtocolCodecFilter implements IoFilter {
     /** A logger for this class */
@@ -45,8 +43,9 @@ public class ProtocolCodecFilter impleme
     private static final Class<?>[] EMPTY_PARAMS = new Class[0];
 
     private final String ENCODER = ProtocolCodecFilter.class.getSimpleName() + "encoder";
+
     private final String DECODER = ProtocolCodecFilter.class.getSimpleName() + "decoder";
-    
+
     /** The factory responsible for creating the encoder and decoder */
     private final ProtocolCodecFactory factory;
 
@@ -61,11 +60,10 @@ public class ProtocolCodecFilter impleme
         if (factory == null) {
             throw new IllegalArgumentException("factory");
         }
-        
+
         this.factory = factory;
     }
 
-    
     /**
      * Creates a new instance of ProtocolCodecFilter, without any factory.
      * The encoder/decoder factory will be created as an inner class, using
@@ -74,8 +72,7 @@ public class ProtocolCodecFilter impleme
      * @param encoder The class responsible for encoding the message
      * @param decoder The class responsible for decoding the message
      */
-    public ProtocolCodecFilter(final ProtocolEncoder encoder,
-            final ProtocolDecoder decoder) {
+    public ProtocolCodecFilter(final ProtocolEncoder encoder, final ProtocolDecoder decoder) {
         if (encoder == null) {
             throw new IllegalArgumentException("encoder");
         }
@@ -104,8 +101,7 @@ public class ProtocolCodecFilter impleme
      * @param encoder The class responsible for encoding the message
      * @param decoder The class responsible for decoding the message
      */
-    public ProtocolCodecFilter(
-            final Class<? extends ProtocolEncoder> encoderClass,
+    public ProtocolCodecFilter(final Class<? extends ProtocolEncoder> encoderClass,
             final Class<? extends ProtocolDecoder> decoderClass) {
         if (encoderClass == null) {
             throw new IllegalArgumentException("encoderClass");
@@ -114,44 +110,38 @@ public class ProtocolCodecFilter impleme
             throw new IllegalArgumentException("decoderClass");
         }
         if (!ProtocolEncoder.class.isAssignableFrom(encoderClass)) {
-            throw new IllegalArgumentException("encoderClass: "
-                    + encoderClass.getName());
+            throw new IllegalArgumentException("encoderClass: " + encoderClass.getName());
         }
         if (!ProtocolDecoder.class.isAssignableFrom(decoderClass)) {
-            throw new IllegalArgumentException("decoderClass: "
-                    + decoderClass.getName());
+            throw new IllegalArgumentException("decoderClass: " + decoderClass.getName());
         }
         try {
             encoderClass.getConstructor(EMPTY_PARAMS);
         } catch (NoSuchMethodException e) {
-            throw new IllegalArgumentException(
-                    "encoderClass doesn't have a public default constructor.");
+            throw new IllegalArgumentException("encoderClass doesn't have a public default constructor.");
         }
         try {
             decoderClass.getConstructor(EMPTY_PARAMS);
         } catch (NoSuchMethodException e) {
-            throw new IllegalArgumentException(
-                    "decoderClass doesn't have a public default constructor.");
+            throw new IllegalArgumentException("decoderClass doesn't have a public default constructor.");
         }
 
         final ProtocolEncoder encoder;
-        
+
         try {
             encoder = encoderClass.newInstance();
         } catch (Exception e) {
-            throw new IllegalArgumentException(
-                "encoderClass cannot be initialized");
+            throw new IllegalArgumentException("encoderClass cannot be initialized");
         }
 
         final ProtocolDecoder decoder;
-        
+
         try {
             decoder = decoderClass.newInstance();
         } catch (Exception e) {
-            throw new IllegalArgumentException(
-                "decoderClass cannot be initialized");
+            throw new IllegalArgumentException("decoderClass cannot be initialized");
         }
-    
+
         // Create the inner factory based on the two parameters.
         this.factory = new ProtocolCodecFactory() {
             public ProtocolEncoder getEncoder(IoSession session) {
@@ -164,7 +154,6 @@ public class ProtocolCodecFilter impleme
         };
     }
 
-    
     /**
      * Get the encoder instance from a given session.
      *
@@ -175,7 +164,6 @@ public class ProtocolCodecFilter impleme
         return (ProtocolEncoder) session.getAttribute(ENCODER);
     }
 
-    
     /**
      * Get the decoder instance from a given session.
      *
@@ -199,18 +187,17 @@ public class ProtocolCodecFilter impleme
      *    
      */
     @Override
-    public void messageReceived(IoSession session,
-            Object message, ReadFilterChainController controller) {
+    public void messageReceived(IoSession session, Object message, ReadFilterChainController controller) {
         LOGGER.debug("Processing a MESSAGE_RECEIVED for session {}", session.getId());
-        
+
         if (!(message instanceof ByteBuffer)) {
             controller.callReadNextFilter(session, message);
             return;
         }
 
         ByteBuffer in = (ByteBuffer) message;
-        ProtocolDecoder decoder = getDecoder( session );
-        
+        ProtocolDecoder decoder = getDecoder(session);
+
         // Loop until we don't have anymore byte in the buffer,
         // or until the decoder throws an unrecoverable exception or 
         // can't decoder a message, because there are not enough 
@@ -224,7 +211,7 @@ public class ProtocolCodecFilter impleme
     @Override
     public void messageWriting(IoSession session, Object message, WriteFilterChainController controller) {
         ProtocolEncoder encoder = session.getAttribute(ENCODER);
-        
+
         encoder.encode(session, message, controller);
     }
 
@@ -265,7 +252,7 @@ public class ProtocolCodecFilter impleme
         disposeEncoder(session);
         disposeDecoder(session);
     }
-    
+
     /**
      * Dispose the encoder, removing its instance from the
      * session's attributes, and calling the associated
@@ -273,7 +260,7 @@ public class ProtocolCodecFilter impleme
      */
     private void disposeEncoder(IoSession session) {
         ProtocolEncoder encoder = (ProtocolEncoder) session.removeAttribute(ENCODER);
-        
+
         if (encoder == null) {
             return;
         }
@@ -281,8 +268,7 @@ public class ProtocolCodecFilter impleme
         try {
             encoder.dispose(session);
         } catch (Throwable t) {
-            LOGGER.warn(
-                    "Failed to dispose: " + encoder.getClass().getName() + " (" + encoder + ')');
+            LOGGER.warn("Failed to dispose: " + encoder.getClass().getName() + " (" + encoder + ')');
         }
     }
 
@@ -300,8 +286,7 @@ public class ProtocolCodecFilter impleme
         try {
             decoder.dispose(session);
         } catch (Throwable t) {
-            LOGGER.warn(
-                    "Failed to dispose: " + decoder.getClass().getName() + " (" + decoder + ')');
+            LOGGER.warn("Failed to dispose: " + decoder.getClass().getName() + " (" + decoder + ')');
         }
     }
 }

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java Wed Oct 12 13:19:57 2011
@@ -26,7 +26,7 @@ import org.apache.mina.service.client.Ab
  * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public class AbstractTcpClient extends AbstractIoClient {
+public abstract class AbstractTcpClient extends AbstractIoClient {
     /**
      * Create an new AbsractTcpClient instance
      */

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java Wed Oct 12 13:19:57 2011
@@ -30,7 +30,7 @@ import org.apache.mina.service.server.Ab
  * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public class AbstractTcpServer extends AbstractIoServer {
+public abstract class AbstractTcpServer extends AbstractIoServer {
     /**
      * Create an new AbsractTcpServer instance
      */

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/DefaultSocketSessionConfig.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/DefaultSocketSessionConfig.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/DefaultSocketSessionConfig.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/DefaultSocketSessionConfig.java Wed Oct 12 13:19:57 2011
@@ -109,10 +109,10 @@ public class DefaultSocketSessionConfig 
         this.readBufferSize = readBufferSize;
     }
 
-    private int receiveBufferSize;
+    private Integer receiveBufferSize = null;
 
     @Override
-    public int getReceiveBufferSize() {
+    public Integer getReceiveBufferSize() {
         return receiveBufferSize;
     }
 
@@ -121,10 +121,10 @@ public class DefaultSocketSessionConfig 
         this.receiveBufferSize = receiveBufferSize;
     }
 
-    private int sendBufferSize;
+    private Integer sendBufferSize = null;
 
     @Override
-    public int getSendBufferSize() {
+    public Integer getSendBufferSize() {
         return sendBufferSize;
     }
 
@@ -137,10 +137,10 @@ public class DefaultSocketSessionConfig 
     // socket options
     //=====================
 
-    private boolean tcpNoDelay;
+    private Boolean tcpNoDelay = null;
 
     @Override
-    public boolean isTcpNoDelay() {
+    public Boolean isTcpNoDelay() {
         return tcpNoDelay;
     }
 
@@ -149,10 +149,10 @@ public class DefaultSocketSessionConfig 
         this.tcpNoDelay = tcpNoDelay;
     }
 
-    private boolean reuseAddress;
+    private Boolean reuseAddress = null;
 
     @Override
-    public boolean isReuseAddress() {
+    public Boolean isReuseAddress() {
         return reuseAddress;
     }
 
@@ -161,10 +161,10 @@ public class DefaultSocketSessionConfig 
         this.reuseAddress = reuseAddress;
     }
 
-    private int trafficClass;
+    private Integer trafficClass;
 
     @Override
-    public int getTrafficClass() {
+    public Integer getTrafficClass() {
         return trafficClass;
     }
 
@@ -173,10 +173,10 @@ public class DefaultSocketSessionConfig 
         this.trafficClass = trafficClass;
     }
 
-    private boolean keepAlive;
+    private Boolean keepAlive = null;
 
     @Override
-    public boolean isKeepAlive() {
+    public Boolean isKeepAlive() {
         return keepAlive;
     }
 
@@ -185,10 +185,10 @@ public class DefaultSocketSessionConfig 
         this.keepAlive = keepAlive;
     }
 
-    private boolean oobInline;
+    private Boolean oobInline = null;
 
     @Override
-    public boolean isOobInline() {
+    public Boolean isOobInline() {
         return oobInline;
     }
 
@@ -198,10 +198,10 @@ public class DefaultSocketSessionConfig 
 
     }
 
-    private int soLinger;
+    private Integer soLinger;
 
     @Override
-    public int getSoLinger() {
+    public Integer getSoLinger() {
         return soLinger;
     }
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java Wed Oct 12 13:19:57 2011
@@ -158,8 +158,8 @@ public class NioSelectorProcessor implem
         SocketChannel socketChannel = (SocketChannel) clientSocket;
         NioTcpSession session = new NioTcpSession((NioTcpServer) service, socketChannel,
                 strategy.getSelectorForNewSession(this));
+        SocketSessionConfig sessionConfig = (SocketSessionConfig) service.getSessionConfig();
 
-        // TODO : configure
         try {
             socketChannel.configureBlocking(false);
         } catch (IOException e) {

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/SocketSessionConfig.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/SocketSessionConfig.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/SocketSessionConfig.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/SocketSessionConfig.java Wed Oct 12 13:19:57 2011
@@ -32,7 +32,7 @@ public interface SocketSessionConfig ext
     /**
      * @see Socket#getTcpNoDelay()
      */
-    boolean isTcpNoDelay();
+    Boolean isTcpNoDelay();
 
     /**
      * @see Socket#setTcpNoDelay(boolean)
@@ -41,8 +41,9 @@ public interface SocketSessionConfig ext
 
     /**
      * @see Socket#getReuseAddress()
+     * return <code>null</code> if the default system value is used 
      */
-    boolean isReuseAddress();
+    Boolean isReuseAddress();
 
     /**
      * @see Socket#setReuseAddress(boolean)
@@ -51,8 +52,9 @@ public interface SocketSessionConfig ext
 
     /**
      * @see Socket#getReceiveBufferSize() 
+     * return <code>null</code> if the default system value is used
      */
-    int getReceiveBufferSize();
+    Integer getReceiveBufferSize();
 
     /**
      * @see Socket#setReceiveBufferSize(int)
@@ -61,8 +63,9 @@ public interface SocketSessionConfig ext
 
     /**
      * @see Socket#getSendBufferSize() 
+     * return <code>null</code> if the default system value is used
      */
-    int getSendBufferSize();
+    Integer getSendBufferSize();
 
     /**
      * @see Socket#setSendBufferSize(int)
@@ -71,8 +74,9 @@ public interface SocketSessionConfig ext
 
     /**
      * @see Socket#getTrafficClass()
+     * return <code>null</code> if the default system value is used
      */
-    int getTrafficClass();
+    Integer getTrafficClass();
 
     /**
      * @see Socket#setTrafficClass(int) 
@@ -81,8 +85,9 @@ public interface SocketSessionConfig ext
 
     /**
      * @see Socket#getKeepAlive() 
+     * return <code>null</code> if the default system value is used
      */
-    boolean isKeepAlive();
+    Boolean isKeepAlive();
 
     /**
      * @see Socket#setKeepAlive(boolean) 
@@ -91,8 +96,9 @@ public interface SocketSessionConfig ext
 
     /**
      * @see Socket#getOOBInline() 
+     * return <code>null</code> if the default system value is used
      */
-    boolean isOobInline();
+    Boolean isOobInline();
 
     /**
      * @see Socket#setOOBInline(boolean) 
@@ -105,8 +111,9 @@ public interface SocketSessionConfig ext
      *
      * @see Socket#getSoLinger()
      * @see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6179351">Sun Bug Database</a>
+     * return <code>null</code> if the default system value is used
      */
-    int getSoLinger();
+    Integer getSoLinger();
 
     /**
      * Please note that enabling <tt>SO_LINGER</tt> in Java NIO can result

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java Wed Oct 12 13:19:57 2011
@@ -19,6 +19,7 @@
  */
 package org.apache.mina.transport.tcp.bio;
 
+import org.apache.mina.api.IoSessionConfig;
 import org.apache.mina.transport.tcp.AbstractTcpClient;
 
 /**
@@ -33,4 +34,10 @@ public class BioTcpClient extends Abstra
     public BioTcpClient() {
         super();
     }
+
+    @Override
+    public IoSessionConfig getSessionConfig() {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java Wed Oct 12 13:19:57 2011
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.net.SocketAddress;
 import java.util.Set;
 
+import org.apache.mina.api.IoSessionConfig;
 import org.apache.mina.transport.tcp.AbstractTcpServer;
 
 /**
@@ -43,19 +44,22 @@ public class BioTcpServer extends Abstra
         return null;
     }
 
-
     @Override
-    public void bind( SocketAddress... localAddress ) throws IOException {
+    public void bind(SocketAddress... localAddress) throws IOException {
     }
 
-
     @Override
     public void unbindAll() throws IOException {
     }
 
+    @Override
+    public void unbind(SocketAddress... localAddresses) throws IOException {
+    }
 
     @Override
-    public void unbind( SocketAddress... localAddresses ) throws IOException {
+    public IoSessionConfig getSessionConfig() {
+        // TODO Auto-generated method stub
+        return null;
     }
 
 }

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java Wed Oct 12 13:19:57 2011
@@ -19,6 +19,7 @@
  */
 package org.apache.mina.transport.tcp.nio;
 
+import org.apache.mina.api.IoSessionConfig;
 import org.apache.mina.transport.tcp.AbstractTcpClient;
 
 /**
@@ -33,4 +34,10 @@ public class NioTcpClient extends Abstra
     public NioTcpClient() {
         super();
     }
+
+    @Override
+    public IoSessionConfig getSessionConfig() {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }
\ No newline at end of file

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java Wed Oct 12 13:19:57 2011
@@ -28,6 +28,7 @@ import java.util.Set;
 import org.apache.mina.service.SelectorStrategy;
 import org.apache.mina.transport.tcp.AbstractTcpServer;
 import org.apache.mina.transport.tcp.NioSelectorProcessor;
+import org.apache.mina.transport.tcp.SocketSessionConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -49,9 +50,21 @@ public class NioTcpServer extends Abstra
     // the strategy for dispatching servers and client to selector threads.
     private SelectorStrategy strategy;
 
+    private SocketSessionConfig config;
+
     public NioTcpServer(SelectorStrategy strategy) {
         super();
         this.strategy = strategy;
+
+    }
+
+    @Override
+    public SocketSessionConfig getSessionConfig() {
+        return config;
+    }
+
+    public void setSessionConfig(SocketSessionConfig config) {
+        this.config = config;
     }
 
     @Override

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java Wed Oct 12 13:19:57 2011
@@ -26,7 +26,7 @@ import org.apache.mina.service.client.Ab
  * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public class AbstractUdpClient extends AbstractIoClient{
+public abstract class AbstractUdpClient extends AbstractIoClient {
     /**
      * Create an new AbsractUdpClient instance
      */

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java Wed Oct 12 13:19:57 2011
@@ -30,7 +30,7 @@ import org.apache.mina.service.server.Ab
  * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public class AbstractUdpServer extends AbstractIoServer {
+public abstract class AbstractUdpServer extends AbstractIoServer {
     /**
      * Create an new AbsractUdpServer instance
      */
@@ -39,32 +39,25 @@ public class AbstractUdpServer extends A
     }
 
     @Override
-    public Set<SocketAddress> getLocalAddresses()
-    {
+    public Set<SocketAddress> getLocalAddresses() {
         // TODO Auto-generated method stub
         return null;
     }
 
-
     @Override
-    public void bind( SocketAddress... localAddress ) throws IOException
-    {
+    public void bind(SocketAddress... localAddress) throws IOException {
         // TODO Auto-generated method stub
 
     }
 
-
     @Override
-    public void unbindAll() throws IOException
-    {
+    public void unbindAll() throws IOException {
         // TODO Auto-generated method stub
 
     }
 
-
     @Override
-    public void unbind( SocketAddress... localAddresses ) throws IOException
-    {
+    public void unbind(SocketAddress... localAddresses) throws IOException {
         // TODO Auto-generated method stub
 
     }

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java Wed Oct 12 13:19:57 2011
@@ -19,6 +19,7 @@
  */
 package org.apache.mina.transport.udp.bio;
 
+import org.apache.mina.api.IoSessionConfig;
 import org.apache.mina.transport.udp.AbstractUdpClient;
 
 /**
@@ -33,4 +34,10 @@ public class BioUdpClient extends Abstra
     public BioUdpClient() {
         super();
     }
+
+    @Override
+    public IoSessionConfig getSessionConfig() {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java Wed Oct 12 13:19:57 2011
@@ -19,6 +19,7 @@
  */
 package org.apache.mina.transport.udp.bio;
 
+import org.apache.mina.api.IoSessionConfig;
 import org.apache.mina.transport.udp.AbstractUdpServer;
 
 /**
@@ -33,4 +34,10 @@ public class BioUdpServer extends Abstra
     public BioUdpServer() {
         super();
     }
+
+    @Override
+    public IoSessionConfig getSessionConfig() {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java Wed Oct 12 13:19:57 2011
@@ -19,6 +19,7 @@
  */
 package org.apache.mina.transport.udp.nio;
 
+import org.apache.mina.api.IoSessionConfig;
 import org.apache.mina.transport.udp.AbstractUdpClient;
 
 /**
@@ -33,4 +34,10 @@ public class NioUdpClient extends Abstra
     public NioUdpClient() {
         super();
     }
+
+    @Override
+    public IoSessionConfig getSessionConfig() {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java?rev=1182351&r1=1182350&r2=1182351&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java Wed Oct 12 13:19:57 2011
@@ -19,6 +19,7 @@
  */
 package org.apache.mina.transport.udp.nio;
 
+import org.apache.mina.api.IoSessionConfig;
 import org.apache.mina.transport.udp.AbstractUdpServer;
 
 /**
@@ -33,4 +34,10 @@ public class NioUdpServer extends Abstra
     public NioUdpServer() {
         super();
     }
+
+    @Override
+    public IoSessionConfig getSessionConfig() {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }