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 2015/10/20 11:00:45 UTC

svn commit: r1709545 - in /tomcat/trunk/java/org/apache/coyote: ./ ajp/ http11/ http11/upgrade/ http2/

Author: markt
Date: Tue Oct 20 09:00:45 2015
New Revision: 1709545

URL: http://svn.apache.org/viewvc?rev=1709545&view=rev
Log:
Rename process() -> service()
Create a new process() method to hold code pulled up from
StreamProcessor and AbstractConnectionHandler

Modified:
    tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
    tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
    tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
    tomcat/trunk/java/org/apache/coyote/Processor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
    tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 09:00:45 2015
@@ -204,12 +204,6 @@ public abstract class AbstractProcessor
     }
 
 
-    /**
-     * Process an in-progress request that is not longer in standard HTTP mode.
-     * Uses currently include Servlet 3.0 Async and HTTP upgrade connections.
-     * Further uses may be added in the future. These will typically start as
-     * HTTP requests.
-     */
     @Override
     public final SocketState dispatch(SocketStatus status) {
 

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Tue Oct 20 09:00:45 2015
@@ -16,11 +16,14 @@
  */
 package org.apache.coyote;
 
+import java.io.IOException;
 import java.util.Iterator;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArraySet;
 
+import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.DispatchType;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * This is a light-weight abstract processor implementation that is intended as
@@ -33,6 +36,13 @@ public abstract class AbstractProcessorL
 
 
     @Override
+    public SocketState process(SocketWrapperBase<?> socketWrapper) throws IOException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+
+    @Override
     public void addDispatch(DispatchType dispatchType) {
         synchronized (dispatches) {
             dispatches.add(dispatchType);

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Tue Oct 20 09:00:45 2015
@@ -714,13 +714,13 @@ public abstract class AbstractProtocol<S
                             // loop and call release() which will recycle the
                             // processor (and input buffer) deleting any
                             // pipe-lined data. To avoid this, process it now.
-                            state = processor.process(wrapper);
+                            state = processor.service(wrapper);
                         }
                     } else if (status == SocketStatus.OPEN_WRITE) {
                         // Extra write event likely after async, ignore
                         state = SocketState.LONG;
                     } else {
-                        state = processor.process(wrapper);
+                        state = processor.service(wrapper);
                     }
 
                     if (state != SocketState.CLOSED && processor.isAsync()) {

Modified: tomcat/trunk/java/org/apache/coyote/Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Tue Oct 20 09:00:45 2015
@@ -34,11 +34,13 @@ import org.apache.tomcat.util.net.Socket
  * Common interface for processors of all protocols.
  */
 public interface Processor {
+
     Executor getExecutor();
 
     /**
-     * Process HTTP requests. All requests are treated as HTTP requests to start
-     * with although they may change type during processing.
+     * Process a connection. This is called whenever an event occurs (e.g. more
+     * data arrives) that allows processing to continue for a connection that is
+     * not currently being processed.
      *
      * @param socketWrapper The connection to process
      *
@@ -50,6 +52,30 @@ public interface Processor {
      */
     SocketState process(SocketWrapperBase<?> socketWrapper) throws IOException;
 
+    /**
+     * Service a 'standard' HTTP request. This method is called for both new
+     * requests and for requests that have partially read the HTTP request line
+     * or HTTP headers. Once the headers have been fully read this method is not
+     * called again until there is a new HTTP request to process. Note that the
+     * request type may change during processing which may result in one or more
+     * calls to {@link #dispatch(SocketStatus)}.
+     *
+     * @param socketWrapper The connection to process
+     *
+     * @return The state the caller should put the socket in when this method
+     *         returns
+     *
+     * @throws IOException If an I/O error occurs during the processing of the
+     *         request
+     */
+    SocketState service(SocketWrapperBase<?> socketWrapper) throws IOException;
+
+    /**
+     * Process an in-progress request that is not longer in standard HTTP mode.
+     * Uses currently include Servlet 3.0 Async and HTTP upgrade connections.
+     * Further uses may be added in the future. These will typically start as
+     * HTTP requests.
+     */
     SocketState dispatch(SocketStatus status);
 
     SocketState asyncPostProcess();

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=1709545&r1=1709544&r2=1709545&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Tue Oct 20 09:00:45 2015
@@ -645,7 +645,7 @@ public class AjpProcessor extends Abstra
      * @throws IOException error during an I/O operation
      */
     @Override
-    public SocketState process(SocketWrapperBase<?> socket) throws IOException {
+    public SocketState service(SocketWrapperBase<?> socket) throws IOException {
 
         RequestInfo rp = request.getRequestProcessor();
         rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);

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=1709545&r1=1709544&r2=1709545&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Tue Oct 20 09:00:45 2015
@@ -925,7 +925,7 @@ public class Http11Processor extends Abs
      * @throws IOException error during an I/O operation
      */
     @Override
-    public SocketState process(SocketWrapperBase<?> socketWrapper)
+    public SocketState service(SocketWrapperBase<?> socketWrapper)
         throws IOException {
         RequestInfo rp = request.getRequestProcessor();
         rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java Tue Oct 20 09:00:45 2015
@@ -70,7 +70,7 @@ public abstract class UpgradeProcessorBa
 
 
     @Override
-    public final SocketState process(SocketWrapperBase<?> socketWrapper) throws IOException {
+    public final SocketState service(SocketWrapperBase<?> socketWrapper) throws IOException {
         return null;
     }
 

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=1709545&r1=1709544&r2=1709545&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Tue Oct 20 09:00:45 2015
@@ -87,7 +87,7 @@ public class StreamProcessor extends Abs
                     // Should never happen
                     throw new IllegalStateException();
                 } else {
-                    state = process((SocketWrapperBase<?>) null);
+                    state = service((SocketWrapperBase<?>) null);
                 }
 
                 if (state != SocketState.CLOSED && isAsync()) {
@@ -432,7 +432,7 @@ public class StreamProcessor extends Abs
 
 
     @Override
-    public SocketState process(SocketWrapperBase<?> socket) throws IOException {
+    public SocketState service(SocketWrapperBase<?> socket) throws IOException {
         try {
             adapter.service(request, response);
         } catch (Exception e) {



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