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/07/08 18:19:29 UTC
svn commit: r1144375 - in /tomcat/trunk/java/org/apache/coyote/http11:
Http11AprProtocol.java Http11NioProtocol.java Http11Protocol.java
Author: markt
Date: Fri Jul 8 16:19:28 2011
New Revision: 1144375
URL: http://svn.apache.org/viewvc?rev=1144375&view=rev
Log:
Yet more protocol alignment (with an eye to aligning with AJP)
Modified:
tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1144375&r1=1144374&r2=1144375&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Fri Jul 8 16:19:28 2011
@@ -265,15 +265,9 @@ public class Http11AprProtocol extends A
if (state == SocketState.LONG) {
// In the middle of processing a request/response. Keep the
- // socket associated with the processor.
- connections.put(socket.getSocket(), processor);
-
- if (processor.isAsync()) {
- socket.setAsync(true);
- } else if (processor.comet) {
- ((AprEndpoint) proto.endpoint).getCometPoller().add(
- socket.getSocket().longValue());
- }
+ // socket associated with the processor. Exact requirements
+ // depend on type of long poll
+ longPoll(socket, processor);
} else if (state == SocketState.OPEN){
// In keep-alive but between requests. OK to recycle
// processor. Continue to poll for the next request.
@@ -300,8 +294,7 @@ public class Http11AprProtocol extends A
// any other exception or error is odd. Here we log it
// with "ERROR" level, so it will show up even on
// less-than-verbose logs.
- Http11AprProtocol.log.error(
- sm.getString("http11protocol.proto.error"), e);
+ log.error(sm.getString("http11protocol.proto.error"), e);
}
release(socket, processor, true, false);
return SocketState.CLOSED;
@@ -313,6 +306,18 @@ public class Http11AprProtocol extends A
// NOOP for APR
}
+ private void longPoll(SocketWrapper<Long> socket,
+ Http11AprProcessor processor) {
+ connections.put(socket.getSocket(), processor);
+
+ if (processor.isAsync()) {
+ socket.setAsync(true);
+ } else if (processor.comet) {
+ ((AprEndpoint) proto.endpoint).getCometPoller().add(
+ socket.getSocket().longValue());
+ }
+ }
+
protected Http11AprProcessor createProcessor() {
Http11AprProcessor processor = new Http11AprProcessor(
proto.getMaxHttpHeaderSize(), (AprEndpoint)proto.endpoint,
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=1144375&r1=1144374&r2=1144375&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Fri Jul 8 16:19:28 2011
@@ -280,22 +280,9 @@ public class Http11NioProtocol extends A
if (state == SocketState.LONG) {
// In the middle of processing a request/response. Keep the
- // socket associated with the processor.
- connections.put(socket, processor);
-
- if (processor.isAsync()) {
- socket.setAsync(true);
- } else {
- // Either:
- // - this is comet request
- // - the request line/headers have not been completely
- // read
- SelectionKey key = socket.getSocket().getIOChannel().keyFor(
- socket.getSocket().getPoller().getSelector());
- key.interestOps(SelectionKey.OP_READ);
- ((KeyAttachment) socket).interestOps(
- SelectionKey.OP_READ);
- }
+ // socket associated with the processor. Exact requirements
+ // depend on type of long poll
+ longPoll(socket, processor);
} else if (state == SocketState.OPEN){
// In keep-alive but between requests. OK to recycle
// processor. Continue to poll for the next request.
@@ -343,6 +330,25 @@ public class Http11NioProtocol extends A
}
+ private void longPoll(SocketWrapper<NioChannel> socket,
+ Http11NioProcessor processor) {
+ connections.put(socket, processor);
+
+ if (processor.isAsync()) {
+ socket.setAsync(true);
+ } else {
+ // Either:
+ // - this is comet request
+ // - the request line/headers have not been completely
+ // read
+ SelectionKey key = socket.getSocket().getIOChannel().keyFor(
+ socket.getSocket().getPoller().getSelector());
+ key.interestOps(SelectionKey.OP_READ);
+ ((KeyAttachment) socket).interestOps(
+ SelectionKey.OP_READ);
+ }
+ }
+
public Http11NioProcessor createProcessor() {
Http11NioProcessor processor = new Http11NioProcessor(
proto.getMaxHttpHeaderSize(), (NioEndpoint)proto.endpoint,
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=1144375&r1=1144374&r2=1144375&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Fri Jul 8 16:19:28 2011
@@ -166,7 +166,7 @@ public class Http11Protocol extends Abst
processor = createProcessor();
}
- initSsl(socket,processor);
+ initSsl(socket, processor);
SocketState state = SocketState.CLOSED;
do {
@@ -185,8 +185,9 @@ public class Http11Protocol extends Abst
if (state == SocketState.LONG) {
// In the middle of processing a request/response. Keep the
- // socket associated with the processor.
- connections.put(socket, processor);
+ // socket associated with the processor. Exact requirements
+ // depend on type of long poll
+ longPoll(socket, processor);
} else if (state == SocketState.OPEN){
// In keep-alive but between requests. OK to recycle
// processor. Continue to poll for the next request.
@@ -231,6 +232,11 @@ public class Http11Protocol extends Abst
}
+ private void longPoll(SocketWrapper<Socket> socket,
+ Http11Processor processor) {
+ connections.put(socket, processor);
+ }
+
protected Http11Processor createProcessor() {
Http11Processor processor = new Http11Processor(
proto.getMaxHttpHeaderSize(), (JIoEndpoint)proto.endpoint,
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org