You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2011/04/10 18:05:22 UTC

svn commit: r1090825 - in /mina/branches/3.0/core/src/main/java/org/apache/mina: service/ service/client/ service/server/ transport/tcp/ transport/tcp/bio/ transport/tcp/nio/ transport/udp/ transport/udp/bio/ transport/udp/nio/

Author: elecharny
Date: Sun Apr 10 16:05:21 2011
New Revision: 1090825

URL: http://svn.apache.org/viewvc?rev=1090825&view=rev
Log:
o Added some empty headers
o Added the IoService state
o Created constructors in all the classes
o Some minor refactoring

Modified:
    mina/branches/3.0/core/src/main/java/org/apache/mina/service/AbstractIoService.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/service/client/AbstractIoClient.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/service/server/AbstractIoServer.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/service/AbstractIoService.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/service/AbstractIoService.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/service/AbstractIoService.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/service/AbstractIoService.java Sun Apr 10 16:05:21 2011
@@ -36,9 +36,12 @@ import org.slf4j.LoggerFactory;
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public abstract class AbstractIoService implements IoService {
-
+    /** A logger for this class */
     static final Logger LOG = LoggerFactory.getLogger(AbstractIoService.class);
     
+    /** The service state */
+    private ServiceState state;
+    
     private final Map<Long, IoSession> managedSessions = new ConcurrentHashMap<Long, IoSession>();
     
     /**
@@ -50,6 +53,31 @@ public abstract class AbstractIoService 
      * Placeholder for storing all the listeners added
      */
     private final List<IoServiceListener> listeners = new CopyOnWriteArrayList<IoServiceListener>(); 
+    
+    /**
+     * The Service states
+     */
+    protected enum ServiceState {
+        /** Initial state */
+        NONE,
+        /** The service has been created */
+        CREATED,
+        /** The service is started */
+        ACTIVE,
+        /** The service has been suspended */
+        SUSPENDED,
+        /** The service is being stopped */
+        DISPOSING,
+        /** The service is stopped */
+        DISPOSED
+    }
+    
+    /**
+     * Create an AbstractIoService
+     */
+    protected AbstractIoService() {
+        state = ServiceState.NONE;
+    }
 
     @Override
     public Map<Long, IoSession> getManagedSessions() {
@@ -109,4 +137,81 @@ public abstract class AbstractIoService 
 
         this.handler = handler;
     }
+    
+    /**
+     * @return true if the IoService is active
+     */
+    public boolean isActive() {
+        return state == ServiceState.ACTIVE;
+    }
+    
+    /**
+     * @return true if the IoService is being disposed
+     */
+    public boolean isDisposing() {
+        return state == ServiceState.DISPOSING;
+    }
+    
+    /**
+     * @return true if the IoService is disposed
+     */
+    public boolean isDisposed() {
+        return state == ServiceState.DISPOSED;
+    }
+    
+    /**
+     * @return true if the IoService is suspended
+     */
+    public boolean isSuspended() {
+        return state == ServiceState.SUSPENDED;
+    }
+    
+    /**
+     * @return true if the IoService is created
+     */
+    public boolean isCreated() {
+        return state == ServiceState.CREATED;
+    }
+    
+    /**
+     * Sets the IoService state to CREATED.
+     */
+    protected void setCreated() {
+        state = ServiceState.CREATED;
+    }
+    
+    /**
+     * Sets the IoService state to ACTIVE.
+     */
+    protected void setActive() {
+        state = ServiceState.ACTIVE;
+    }
+    
+    /**
+     * Sets the IoService state to DISPOSED.
+     */
+    protected void setDisposed() {
+        state = ServiceState.DISPOSED;
+    }
+    
+    /**
+     * Sets the IoService state to DISPOSING.
+     */
+    protected void setDisposing() {
+        state = ServiceState.DISPOSING;
+    }
+    
+    /**
+     * Sets the IoService state to SUSPENDED.
+     */
+    protected void setSuspended() {
+        state = ServiceState.SUSPENDED;
+    }
+    
+    /**
+     * Initialize the IoService state
+     */
+    protected void initState() {
+        state = ServiceState.NONE;
+    }
 }
\ No newline at end of file

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/service/client/AbstractIoClient.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/service/client/AbstractIoClient.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/service/client/AbstractIoClient.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/service/client/AbstractIoClient.java Sun Apr 10 16:05:21 2011
@@ -19,7 +19,75 @@
  */
 package org.apache.mina.service.client;
 
-public class AbstractIoClient
-{
+import java.net.SocketAddress;
+import java.util.Map;
+
+import org.apache.mina.ConnectFuture;
+import org.apache.mina.IoClient;
+import org.apache.mina.IoServiceListener;
+import org.apache.mina.IoSession;
+import org.apache.mina.service.AbstractIoService;
+
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class AbstractIoClient extends AbstractIoService implements IoClient {
+    /**
+     * Create an new AbstractIoClient instance
+     */
+    protected AbstractIoClient() {
+        super();
+    }
+
+    @Override
+    public Map<Long, IoSession> getManagedSessions()
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public void addListener( IoServiceListener listener )
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    @Override
+    public void removeListener( IoServiceListener listener )
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    @Override
+    public long getConnectTimeoutMillis()
+    {
+        // TODO Auto-generated method stub
+        return 0;
+    }
+
+    @Override
+    public void setConnectTimeoutMillis( long connectTimeoutInMillis )
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    @Override
+    public ConnectFuture connect( SocketAddress remoteAddress )
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public ConnectFuture connect( SocketAddress remoteAddress, SocketAddress localAddress )
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
 
 }

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/service/server/AbstractIoServer.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/service/server/AbstractIoServer.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/service/server/AbstractIoServer.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/service/server/AbstractIoServer.java Sun Apr 10 16:05:21 2011
@@ -28,5 +28,10 @@ import org.apache.mina.service.AbstractI
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public abstract class AbstractIoServer extends AbstractIoService implements IoServer {
-
+    /**
+     * Create an new AbstractIoServer instance
+     */
+    protected AbstractIoServer() {
+        super();
+    }
 }

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpClient.java Sun Apr 10 16:05:21 2011
@@ -21,6 +21,16 @@ package org.apache.mina.transport.tcp;
 
 import org.apache.mina.service.client.AbstractIoClient;
 
-public class AbstractTcpClient extends AbstractIoClient
-{
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class AbstractTcpClient extends AbstractIoClient {
+    /**
+     * Create an new AbsractTcpClient instance
+     */
+    protected AbstractTcpClient() {
+        super();
+    }
 }

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/AbstractTcpServer.java Sun Apr 10 16:05:21 2011
@@ -25,9 +25,19 @@ import java.util.Set;
 
 import org.apache.mina.service.server.AbstractIoServer;
 
-public class AbstractTcpServer extends AbstractIoServer
-{
-
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class AbstractTcpServer extends AbstractIoServer {
+    /**
+     * Create an new AbsractTcpServer instance
+     */
+    protected AbstractTcpServer() {
+        super();
+    }
+    
     @Override
     public Set<SocketAddress> getLocalAddresses()
     {

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpClient.java Sun Apr 10 16:05:21 2011
@@ -21,6 +21,16 @@ package org.apache.mina.transport.tcp.bi
 
 import org.apache.mina.transport.tcp.AbstractTcpClient;
 
-public class BioTcpClient extends AbstractTcpClient
-{
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class BioTcpClient extends AbstractTcpClient {
+    /**
+     * Create a new instance of BioTcpClient
+     */
+    public BioTcpClient() {
+        super();
+    }
 }

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/bio/BioTcpServer.java Sun Apr 10 16:05:21 2011
@@ -25,8 +25,18 @@ import java.util.Set;
 
 import org.apache.mina.transport.tcp.AbstractTcpServer;
 
-public class BioTcpServer extends AbstractTcpServer
-{
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class BioTcpServer extends AbstractTcpServer {
+    /**
+     * Create a new instance of BioTcpServer
+     */
+    public BioTcpServer() {
+        super();
+    }
 
     @Override
     public Set<SocketAddress> getLocalAddresses()

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpClient.java Sun Apr 10 16:05:21 2011
@@ -27,5 +27,10 @@ import org.apache.mina.transport.tcp.Abs
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public class NioTcpClient extends AbstractTcpClient {
-
+    /**
+     * Create a new instance of NioTcpClient
+     */
+    public NioTcpClient() {
+        super();
+    }
 }
\ No newline at end of file

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java Sun Apr 10 16:05:21 2011
@@ -37,7 +37,6 @@ import org.slf4j.LoggerFactory;
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public class NioTcpServer extends AbstractTcpServer {
-
     static final Logger LOG = LoggerFactory.getLogger(NioTcpServer.class);
 
     // list of bound addresses
@@ -52,6 +51,7 @@ public class NioTcpServer extends Abstra
     private SelectorStrategy strategy;
 
     public NioTcpServer(SelectorStrategy strategy) {
+        super();
         this.strategy = strategy;
     }
 

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpClient.java Sun Apr 10 16:05:21 2011
@@ -21,6 +21,16 @@ package org.apache.mina.transport.udp;
 
 import org.apache.mina.service.client.AbstractIoClient;
 
-public class AbstractUdpClient extends AbstractIoClient
-{
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class AbstractUdpClient extends AbstractIoClient{
+    /**
+     * Create an new AbsractUdpClient instance
+     */
+    protected AbstractUdpClient() {
+        super();
+    }
 }

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/AbstractUdpServer.java Sun Apr 10 16:05:21 2011
@@ -25,8 +25,18 @@ import java.util.Set;
 
 import org.apache.mina.service.server.AbstractIoServer;
 
-public class AbstractUdpServer extends AbstractIoServer
-{
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class AbstractUdpServer extends AbstractIoServer {
+    /**
+     * Create an new AbsractUdpServer instance
+     */
+    protected AbstractUdpServer() {
+        super();
+    }
 
     @Override
     public Set<SocketAddress> getLocalAddresses()

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpClient.java Sun Apr 10 16:05:21 2011
@@ -21,7 +21,16 @@ package org.apache.mina.transport.udp.bi
 
 import org.apache.mina.transport.udp.AbstractUdpClient;
 
-public class BioUdpClient extends AbstractUdpClient
-{
-
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class BioUdpClient extends AbstractUdpClient {
+    /**
+     * Create a new instance of BioUdpClient
+     */
+    public BioUdpClient() {
+        super();
+    }
 }

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/bio/BioUdpServer.java Sun Apr 10 16:05:21 2011
@@ -21,7 +21,16 @@ package org.apache.mina.transport.udp.bi
 
 import org.apache.mina.transport.udp.AbstractUdpServer;
 
-public class BioUdpServer extends AbstractUdpServer
-{
-
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class BioUdpServer extends AbstractUdpServer {
+    /**
+     * Create a new instance of BioUdpServer
+     */
+    public BioUdpServer() {
+        super();
+    }
 }

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpClient.java Sun Apr 10 16:05:21 2011
@@ -19,9 +19,18 @@
  */
 package org.apache.mina.transport.udp.nio;
 
-import org.apache.mina.transport.udp.AbstractUdpServer;
-
-public class NioUdpClient extends AbstractUdpServer
-{
+import org.apache.mina.transport.udp.AbstractUdpClient;
 
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class NioUdpClient extends AbstractUdpClient {
+    /**
+     * Create a new instance of NioUdpClient
+     */
+    public NioUdpClient() {
+        super();
+    }
 }

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java?rev=1090825&r1=1090824&r2=1090825&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/udp/nio/NioUdpServer.java Sun Apr 10 16:05:21 2011
@@ -21,7 +21,16 @@ package org.apache.mina.transport.udp.ni
 
 import org.apache.mina.transport.udp.AbstractUdpServer;
 
-public class NioUdpServer extends AbstractUdpServer
-{
-
+/**
+ * TODO
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class NioUdpServer extends AbstractUdpServer {
+    /**
+     * Create a new instance of NioUdpServer
+     */
+    public NioUdpServer() {
+        super();
+    }
 }