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 2016/08/12 07:47:20 UTC

svn commit: r1756103 - in /tomcat/trunk/java/org/apache/coyote: ajp/AjpProcessor.java http11/Http11Processor.java http2/StreamProcessor.java

Author: markt
Date: Fri Aug 12 07:47:20 2016
New Revision: 1756103

URL: http://svn.apache.org/viewvc?rev=1756103&view=rev
Log:
Align ActionCode.DISPATCH_EXECUTE

Modified:
    tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
    tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1756103&r1=1756102&r2=1756103&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Fri Aug 12 07:47:20 2016
@@ -565,7 +565,10 @@ public class AjpProcessor extends Abstra
             break;
         }
         case DISPATCH_EXECUTE: {
-            socketWrapper.executeNonBlockingDispatches(getIteratorAndClearDispatches());
+            SocketWrapperBase<?> wrapper = socketWrapper;
+            if (wrapper != null) {
+                executeDispatches(wrapper);
+            }
             break;
         }
 
@@ -1421,13 +1424,13 @@ public class AjpProcessor extends Abstra
         replay = true;
         endOfStream = false;
     }
-    
-    
+
+
     private void setSwallowResponse() {
         swallowResponse = true;
     }
-    
-    
+
+
     private void disableSwallowRequest() {
         /* NO-OP
          * With AJP, Tomcat controls when the client sends request body data. At
@@ -1435,15 +1438,15 @@ public class AjpProcessor extends Abstra
          * in finishResponse().
          */
     }
-    
-    
+
+
     private boolean getPopulateRequestAttributesFromSocket() {
         // NO-OPs the attribute requests since they are pre-populated when
         // parsing the first AJP message.
         return false;
     }
 
-    
+
     private void populateRequestAttributeRemoteHost() {
         // Get remote host name using a DNS resolution
         if (request.remoteHost().isNull()) {
@@ -1455,8 +1458,8 @@ public class AjpProcessor extends Abstra
             }
         }
     }
-    
-    
+
+
     private void populateSslRequestAttributes() {
         if (!certificates.isNull()) {
             ByteChunk certData = certificates.getByteChunk();
@@ -1498,29 +1501,34 @@ public class AjpProcessor extends Abstra
             request.setAttribute(SSLSupport.CERTIFICATE_KEY, jsseCerts);
         }
     }
-    
-    
+
+
     private void sslReHandShake() {
         // NO-OP. Can't force a new SSL handshake with the client when using
         // AJP as the reverse proxy controls that connection.
     }
 
-    
+
     private boolean isRequestBodyFullyRead() {
         return endOfStream;
     }
-    
-    
+
+
     private void registerReadInterest() {
         socketWrapper.registerReadInterest();
     }
-    
-    
+
+
     private boolean isReady() {
         return responseMsgPos == -1 && socketWrapper.isReadyForWrite();
     }
-    
-    
+
+
+    private void executeDispatches(SocketWrapperBase<?> wrapper) {
+        wrapper.executeNonBlockingDispatches(getIteratorAndClearDispatches());
+    }
+
+
     /**
      * Read at least the specified amount of bytes, and place them
      * in the input buffer. Note that if any data is available to read then this

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=1756103&r1=1756102&r2=1756103&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Fri Aug 12 07:47:20 2016
@@ -860,7 +860,7 @@ public class Http11Processor extends Abs
         case DISPATCH_EXECUTE: {
             SocketWrapperBase<?> wrapper = socketWrapper;
             if (wrapper != null) {
-                wrapper.executeNonBlockingDispatches(getIteratorAndClearDispatches());
+                executeDispatches(wrapper);
             }
             break;
         }
@@ -1746,39 +1746,39 @@ public class Http11Processor extends Abs
     private int available(boolean doRead) {
         return inputBuffer.available(doRead);
     }
-    
-    
+
+
     private void setRequestBody(ByteChunk body) {
         InputFilter savedBody = new SavedRequestInputFilter(body);
         savedBody.setRequest(request);
-    
+
         Http11InputBuffer internalBuffer = (Http11InputBuffer) request.getInputBuffer();
         internalBuffer.addActiveFilter(savedBody);
     }
-    
-    
+
+
     private void setSwallowResponse() {
         outputBuffer.responseFinished = true;
     }
-    
-    
+
+
     private void disableSwallowRequest() {
         inputBuffer.setSwallowInput(false);
     }
-    
-    
+
+
     private boolean getPopulateRequestAttributesFromSocket() {
         return true;
     }
-    
-    
+
+
     private void populateRequestAttributeRemoteHost() {
         if (getPopulateRequestAttributesFromSocket() && socketWrapper != null) {
             request.remoteHost().setString(socketWrapper.getRemoteHost());
         }
     }
-    
-    
+
+
     private void populateSslRequestAttributes() {
         try {
             if (sslSupport != null) {
@@ -1830,23 +1830,28 @@ public class Http11Processor extends Abs
             }
         }
     }
-    
-    
+
+
     private boolean isRequestBodyFullyRead() {
         return inputBuffer.isFinished();
     }
-    
-    
+
+
     private void registerReadInterest() {
         socketWrapper.registerReadInterest();
     }
-    
-    
+
+
     private boolean isReady() {
         return outputBuffer.isReady();
     }
-    
-    
+
+
+    private void executeDispatches(SocketWrapperBase<?> wrapper) {
+        wrapper.executeNonBlockingDispatches(getIteratorAndClearDispatches());
+    }
+
+
     /**
      * Checks to see if the keep-alive loop should be broken, performing any
      * processing (e.g. sendfile handling) that may have an impact on whether

Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1756103&r1=1756102&r2=1756103&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Fri Aug 12 07:47:20 2016
@@ -312,7 +312,10 @@ public class StreamProcessor extends Abs
             break;
         }
         case DISPATCH_EXECUTE: {
-            socketWrapper.getEndpoint().getExecutor().execute(this);
+            SocketWrapperBase<?> wrapper = socketWrapper;
+            if (wrapper != null) {
+                executeDispatches(wrapper);
+            }
             break;
         }
 
@@ -371,43 +374,43 @@ public class StreamProcessor extends Abs
 
 
     /**
-     * @param doRead Unused for HTTP/2 
+     * @param doRead Unused for HTTP/2
      */
     private int available(boolean doRead) {
         return stream.getInputBuffer().available();
     }
-    
-    
+
+
     private void setRequestBody(ByteChunk body) {
         stream.getInputBuffer().insertReplayedBody(body);
         stream.receivedEndOfStream();
     }
-    
-    
+
+
     private void setSwallowResponse() {
         // NO-OP
     }
-    
-    
+
+
     private void disableSwallowRequest() {
         // NO-OP
         // HTTP/2 has to swallow any input received to ensure that the flow
         // control windows are correctly tracked.
     }
-    
-    
+
+
     private boolean getPopulateRequestAttributesFromSocket() {
         return true;
     }
 
-    
+
     private void populateRequestAttributeRemoteHost() {
         if (getPopulateRequestAttributesFromSocket() && socketWrapper != null) {
             request.remoteHost().setString(socketWrapper.getRemoteHost());
         }
     }
-    
-    
+
+
     private void populateSslRequestAttributes() {
         try {
             if (sslSupport != null) {
@@ -443,22 +446,27 @@ public class StreamProcessor extends Abs
         // No re-negotiation support in HTTP/2.
     }
 
-    
+
     private boolean isRequestBodyFullyRead() {
         return stream.getInputBuffer().isRequestBodyFullyRead();
     }
-    
-    
+
+
     private void registerReadInterest() {
         stream.getInputBuffer().registerReadInterest();
     }
-    
-    
+
+
     private boolean isReady() {
         return stream.getOutputBuffer().isReady();
     }
-    
-    
+
+
+    private void executeDispatches(SocketWrapperBase<?> wrapper) {
+        wrapper.getEndpoint().getExecutor().execute(this);
+    }
+
+
     @Override
     public void recycle() {
         // StreamProcessor instances are not re-used.



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