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();
+ }
}