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/09/05 17:31:47 UTC
svn commit: r1165338 - in /tomcat/trunk/java/org/apache/coyote/http11:
AbstractHttp11Processor.java Http11AprProcessor.java
Http11NioProcessor.java Http11Processor.java
Author: markt
Date: Mon Sep 5 15:31:46 2011
New Revision: 1165338
URL: http://svn.apache.org/viewvc?rev=1165338&view=rev
Log:
Align request processing between the connectors
Modified:
tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1165338&r1=1165337&r2=1165338&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Mon Sep 5 15:31:46 2011
@@ -1291,6 +1291,12 @@ public abstract class AbstractHttp11Proc
protected abstract void resetTimeouts();
+ /**
+ * Provides a mechanism for those connectors (currently only NIO) that need
+ * that need to set comment timeouts.
+ */
+ protected abstract void setCometTimeouts(SocketWrapper<S> socketWrapper);
+
public void endRequest() {
// Finish the handling of the request
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=1165338&r1=1165337&r2=1165338&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Mon Sep 5 15:31:46 2011
@@ -278,6 +278,7 @@ public class Http11AprProcessor extends
(!isAsync() &&
statusDropsConnection(response.getStatus()));
}
+ setCometTimeouts(socketWrapper);
} catch (InterruptedIOException e) {
error = true;
} catch (Throwable t) {
@@ -350,6 +351,13 @@ public class Http11AprProcessor extends
@Override
+ protected void setCometTimeouts(SocketWrapper<Long> socketWrapper) {
+ // NO-OP for APR/native
+ return;
+ }
+
+
+ @Override
protected boolean breakKeepAliveLoop(SocketWrapper<Long> socketWrapper) {
// Do sendfile as needed: add socket to sendfile and end
if (sendfileData != null && !error) {
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?rev=1165338&r1=1165337&r2=1165338&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Mon Sep 5 15:31:46 2011
@@ -326,19 +326,7 @@ public class Http11NioProcessor extends
(!isAsync() &&
statusDropsConnection(response.getStatus()));
}
- // Comet support
- SelectionKey key = socketWrapper.getSocket().getIOChannel().keyFor(
- socketWrapper.getSocket().getPoller().getSelector());
- if (key != null) {
- NioEndpoint.KeyAttachment attach = (NioEndpoint.KeyAttachment) key.attachment();
- if (attach != null) {
- attach.setComet(comet);
- if (comet) {
- Integer comettimeout = (Integer) request.getAttribute("org.apache.tomcat.comet.timeout");
- if (comettimeout != null) attach.setTimeout(comettimeout.longValue());
- }
- }
- }
+ setCometTimeouts(socketWrapper);
} catch (InterruptedIOException e) {
error = true;
} catch (Throwable t) {
@@ -411,6 +399,24 @@ public class Http11NioProcessor extends
@Override
+ protected void setCometTimeouts(SocketWrapper<NioChannel> socketWrapper) {
+ // Comet support
+ SelectionKey key = socketWrapper.getSocket().getIOChannel().keyFor(
+ socketWrapper.getSocket().getPoller().getSelector());
+ if (key != null) {
+ NioEndpoint.KeyAttachment attach = (NioEndpoint.KeyAttachment) key.attachment();
+ if (attach != null) {
+ attach.setComet(comet);
+ if (comet) {
+ Integer comettimeout = (Integer) request.getAttribute("org.apache.tomcat.comet.timeout");
+ if (comettimeout != null) attach.setTimeout(comettimeout.longValue());
+ }
+ }
+ }
+ }
+
+
+ @Override
protected boolean breakKeepAliveLoop(
SocketWrapper<NioChannel> socketWrapper) {
// Do sendfile as needed: add socket to sendfile and end
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1165338&r1=1165337&r2=1165338&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Mon Sep 5 15:31:46 2011
@@ -272,7 +272,7 @@ public class Http11Processor extends Abs
(!isAsync() &&
statusDropsConnection(response.getStatus()));
}
-
+ setCometTimeouts(socketWrapper);
} catch (InterruptedIOException e) {
error = true;
} catch (Throwable t) {
@@ -345,6 +345,13 @@ public class Http11Processor extends Abs
@Override
+ protected void setCometTimeouts(SocketWrapper<Socket> socketWrapper) {
+ // NO-OP for BIO
+ return;
+ }
+
+
+ @Override
protected boolean breakKeepAliveLoop(SocketWrapper<Socket> socketWrapper) {
// If we don't have a pipe-lined request allow this thread to be
// used by another connection
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r1165338 - in /tomcat/trunk/java/org/apache/coyote/http11:
AbstractHttp11Processor.java Http11AprProcessor.java Http11NioProcessor.java
Http11Processor.java
Posted by Mark Thomas <ma...@apache.org>.
On 06/09/2011 07:29, Felix Schumacher wrote:
>> + /**
>> + * Provides a mechanism for those connectors (currently only NIO)
>> that need
>> + * that need to set comment timeouts.
> Did you mean Comet timeouts?
I did. Fixed. Thanks.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r1165338 - in /tomcat/trunk/java/org/apache/coyote/http11: AbstractHttp11Processor.java Http11AprProcessor.java Http11NioProcessor.java Http11Processor.java
Posted by Felix Schumacher <fe...@internetallee.de>.
markt@apache.org schrieb:
>Author: markt
>Date: Mon Sep 5 15:31:46 2011
>New Revision: 1165338
>
>URL: http://svn.apache.org/viewvc?rev=1165338&view=rev
>Log:
>Align request processing between the connectors
>
>Modified:
>tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
> tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
> tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
> tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
>
>Modified:
>tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
>URL:
>http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1165338&r1=1165337&r2=1165338&view=diff
>==============================================================================
>---
>tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
>(original)
>+++
>tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
>Mon Sep 5 15:31:46 2011
>@@ -1291,6 +1291,12 @@ public abstract class AbstractHttp11Proc
> protected abstract void resetTimeouts();
>
>
>+ /**
>+ * Provides a mechanism for those connectors (currently only NIO)
>that need
>+ * that need to set comment timeouts.
Did you mean Comet timeouts?
>+ */
>+ protected abstract void setCometTimeouts(SocketWrapper<S>
>socketWrapper);
Regards
Felix
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org