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/13 09:37:27 UTC

svn commit: r1091677 - in /mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp: NioSelectorProcessor.java nio/NioTcpServer.java

Author: elecharny
Date: Wed Apr 13 07:37:27 2011
New Revision: 1091677

URL: http://svn.apache.org/viewvc?rev=1091677&view=rev
Log:
Minor refactoring

Modified:
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/nio/NioTcpServer.java

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java?rev=1091677&r1=1091676&r2=1091677&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java Wed Apr 13 07:37:27 2011
@@ -64,16 +64,16 @@ public class NioSelectorProcessor implem
     private Selector selector;
 
     // new binded server to add to the selector
-    private final Queue<ServerSocketChannel> serverToAdd = new ConcurrentLinkedQueue<ServerSocketChannel>();
+    private final Queue<ServerSocketChannel> serversToAdd = new ConcurrentLinkedQueue<ServerSocketChannel>();
 
     // server to remove of the selector
-    private final Queue<ServerSocketChannel> serverToRemove = new ConcurrentLinkedQueue<ServerSocketChannel>();
+    private final Queue<ServerSocketChannel> serversToRemove = new ConcurrentLinkedQueue<ServerSocketChannel>();
 
     // new session freshly accepted, placed here for being added to the selector
-    private final Queue<IoSession> sessionToConnect = new ConcurrentLinkedQueue<IoSession>();
+    private final Queue<IoSession> sessionsToConnect = new ConcurrentLinkedQueue<IoSession>();
 
     // session to be removed of the selector
-    private final Queue<IoSession> sessionToClose = new ConcurrentLinkedQueue<IoSession>();
+    private final Queue<IoSession> sessionsToClose = new ConcurrentLinkedQueue<IoSession>();
 
     /**
      * Add a bound server channel for starting accepting new client connections.
@@ -82,7 +82,7 @@ public class NioSelectorProcessor implem
      */
     public void add(ServerSocketChannel serverChannel) {
         log.debug("adding a server channel " + serverChannel);
-        serverToAdd.add(serverChannel);
+        serversToAdd.add(serverChannel);
         wakeupWorker();
     }
 
@@ -119,7 +119,7 @@ public class NioSelectorProcessor implem
         channel.close();
         serverSocketChannels.remove(channel);
         log.debug("removing a server channel " + channel);
-        serverToRemove.add(channel);
+        serversToRemove.add(channel);
         wakeupWorker();
     }
 
@@ -129,6 +129,10 @@ public class NioSelectorProcessor implem
         
     }
 
+    /**
+     * The worker processing incoming session creation and destruction requests.
+     * It will also bind new servers.
+     */
     private class SelectorWorker extends Thread {
         // map for finding the keys associated with a given server
         private Map<ServerSocketChannel, SelectionKey> serverKey = new HashMap<ServerSocketChannel, SelectionKey>();
@@ -148,10 +152,11 @@ public class NioSelectorProcessor implem
             for (;;) {
                 try {
                     // pop server sockets for removing
-                    if (serverToRemove.size() > 0) {
-                        while (!serverToRemove.isEmpty()) {
-                            ServerSocketChannel channel = serverToRemove.poll();
+                    if (serversToRemove.size() > 0) {
+                        while (!serversToRemove.isEmpty()) {
+                            ServerSocketChannel channel = serversToRemove.poll();
                             SelectionKey key = serverKey.remove(channel);
+                            
                             if (key == null) {
                                 log.error("The server socket was already removed of the selector");
                             } else {
@@ -161,9 +166,9 @@ public class NioSelectorProcessor implem
                     }
 
                     // pop new server sockets for accepting
-                    if (serverToAdd.size() > 0) {
-                        while (!serverToAdd.isEmpty()) {
-                            ServerSocketChannel channel = serverToAdd.poll();
+                    if (serversToAdd.size() > 0) {
+                        while (!serversToAdd.isEmpty()) {
+                            ServerSocketChannel channel = serversToAdd.poll();
                             SelectionKey key = channel.register(selector,
                                     SelectionKey.OP_ACCEPT);
                             key.attach(channel);
@@ -172,7 +177,7 @@ public class NioSelectorProcessor implem
                     
                     log.debug("selecting...");
                     int readyCount = selector.select(SELECT_TIMEOUT);
-                    log.debug("... done selecting : " + readyCount);
+                    log.debug("... done selecting : {}", readyCount);
 
                     if (readyCount > 0) {
                         // process selected keys

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=1091677&r1=1091676&r2=1091677&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 Wed Apr 13 07:37:27 2011
@@ -32,7 +32,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * TODO
+ * This class implements a TCP NIO based server.
  * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */