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 2013/05/03 01:21:26 UTC
svn commit: r1478604 - in /tomcat/trunk/java/org/apache/coyote/http11:
AbstractHttp11Processor.java Http11AprProcessor.java
Http11NioProcessor.java Http11Processor.java
Author: markt
Date: Thu May 2 23:21:25 2013
New Revision: 1478604
URL: http://svn.apache.org/r1478604
Log:
Pull up changes to process()
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=1478604&r1=1478603&r2=1478604&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Thu May 2 23:21:25 2013
@@ -1045,6 +1045,8 @@ public abstract class AbstractHttp11Proc
rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);
+ registerForWrite();
+
if (error || endpoint.isPaused()) {
return SocketState.CLOSED;
} else if (isAsync() || comet) {
@@ -1070,6 +1072,32 @@ public abstract class AbstractHttp11Proc
/**
+ * Register the socket for write possible events of there is data in the
+ * output buffer still to write.
+ *
+ * @return <code>true</code> if the socket was registered for write possible
+ * events, otherwise <code>false</code>
+ */
+ protected boolean registerForWrite() {
+ if (outputBuffer.hasDataToWrite()) {
+ registerForEvent(false, true);
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+
+ /**
+ * Regsiter the socket for the specified events.
+ *
+ * @param read Register the socket for read events
+ * @param write Regsiter the socket for write events
+ */
+ protected abstract void registerForEvent(boolean read, boolean write);
+
+
+ /**
* After reading the request headers, we have to setup the request filters.
*/
protected void prepareRequest() {
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=1478604&r1=1478603&r2=1478604&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Thu May 2 23:21:25 2013
@@ -239,8 +239,15 @@ public class Http11AprProcessor extends
@Override
+ protected void registerForEvent(boolean read, boolean write) {
+ ((AprEndpoint) endpoint).getPoller().add(
+ socket.getSocket().longValue(), -1, read, write);
+ }
+
+
+ @Override
protected void resetTimeouts() {
- // NOOP for APR
+ // NO-OP for APR
}
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=1478604&r1=1478603&r2=1478604&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Thu May 2 23:21:25 2013
@@ -216,27 +216,7 @@ public class Http11NioProcessor extends
}
-
@Override
- public SocketState process(SocketWrapper<NioChannel> socketWrapper)
- throws IOException {
- SocketState state = super.process(socketWrapper);
- registerForWrite();
- return state;
- }
-
-
- protected boolean registerForWrite() {
- // Register for write if we have more data to write
- if (outputBuffer.hasDataToWrite()) {
- registerForEvent(false, true);
- return true;
- } else {
- return false;
- }
- }
-
-
protected void registerForEvent(boolean read, boolean write) {
final NioEndpoint.KeyAttachment attach =
(NioEndpoint.KeyAttachment)socket.getSocket().getAttachment(
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=1478604&r1=1478603&r2=1478604&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Thu May 2 23:21:25 2013
@@ -206,8 +206,13 @@ public class Http11Processor extends Abs
@Override
+ protected void registerForEvent(boolean read, boolean write) {
+ // NO-OP for BIO
+ }
+
+ @Override
protected void resetTimeouts() {
- // NOOP for BIO
+ // NO-OP for BIO
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org