You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2011/06/23 01:13:37 UTC

svn commit: r1138677 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpNioProtocol.java coyote/http11/Http11NioProtocol.java tomcat/util/net/NioEndpoint.java

Author: markt
Date: Wed Jun 22 23:13:37 2011
New Revision: 1138677

URL: http://svn.apache.org/viewvc?rev=1138677&view=rev
Log:
Connector refactoring.
Start moving the NIO connectors towards using SocketWrapper<NioChannel> rather than NioChannel to align them with BIO/APR and permit further refactoring.
Do this in small steps since when I tried to do it in one hit, everything broke.

Modified:
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
    tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java?rev=1138677&r1=1138676&r2=1138677&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java Wed Jun 22 23:13:37 2011
@@ -31,6 +31,7 @@ import org.apache.tomcat.util.net.NioEnd
 import org.apache.tomcat.util.net.NioEndpoint.Handler;
 import org.apache.tomcat.util.net.SSLImplementation;
 import org.apache.tomcat.util.net.SocketStatus;
+import org.apache.tomcat.util.net.SocketWrapper;
 
 
 /**
@@ -166,7 +167,9 @@ public class AjpNioProtocol extends Abst
         }
 
         @Override
-        public SocketState process(NioChannel socket, SocketStatus status) {
+        public SocketState process(SocketWrapper<NioChannel> socketWrapper,
+                SocketStatus status) {
+            NioChannel socket = socketWrapper.getSocket();
             AjpNioProcessor processor = connections.remove(socket);
 
             NioEndpoint.KeyAttachment att = (NioEndpoint.KeyAttachment)socket.getAttachment(false);

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1138677&r1=1138676&r2=1138677&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Wed Jun 22 23:13:37 2011
@@ -33,6 +33,7 @@ import org.apache.tomcat.util.net.NioEnd
 import org.apache.tomcat.util.net.SSLImplementation;
 import org.apache.tomcat.util.net.SecureNioChannel;
 import org.apache.tomcat.util.net.SocketStatus;
+import org.apache.tomcat.util.net.SocketWrapper;
 
 
 /**
@@ -228,7 +229,9 @@ public class Http11NioProtocol extends A
 
 
         @Override
-        public SocketState process(NioChannel socket, SocketStatus status) {
+        public SocketState process(SocketWrapper<NioChannel> socketWrapper,
+                SocketStatus status) {
+            NioChannel socket = socketWrapper.getSocket();
             Http11NioProcessor processor = connections.remove(socket);
 
             NioEndpoint.KeyAttachment att = (NioEndpoint.KeyAttachment)socket.getAttachment(false);

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1138677&r1=1138676&r2=1138677&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Wed Jun 22 23:13:37 2011
@@ -1485,7 +1485,8 @@ public class NioEndpoint extends Abstrac
      * thread local fields.
      */
     public interface Handler extends AbstractEndpoint.Handler {
-        public SocketState process(NioChannel socket, SocketStatus status);
+        public SocketState process(SocketWrapper<NioChannel> socket,
+                SocketStatus status);
         public void release(NioChannel socket);
         public void release(SocketChannel socket);
         public SSLImplementation getSslImplementation();
@@ -1532,9 +1533,13 @@ public class NioEndpoint extends Abstrac
                         SocketState state = SocketState.OPEN;
                         // Process the request from this socket
                         if (status == null) {
-                            state = handler.process(socket, SocketStatus.OPEN);
+                            state = handler.process(
+                                    (KeyAttachment) key.attachment(),
+                                    SocketStatus.OPEN);
                         } else {
-                            state = handler.process(socket, status);
+                            state = handler.process(
+                                    (KeyAttachment) key.attachment(),
+                                    status);
                         }
     
                         if (state == SocketState.CLOSED) {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org