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