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