Author: markt Date: Wed Jun 15 16:24:42 2011 New Revision: 1136108 URL: http://svn.apache.org/viewvc?rev=1136108&view=rev Log: Pull up asyncDispatch()
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java?rev=1136108&r1=1136107&r2=1136108&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java Wed Jun 15 16:24:42 2011 @@ -19,6 +19,7 @@ package org.apache.coyote.ajp; import java.io.ByteArrayInputStream; import java.io.IOException; +import java.io.InterruptedIOException; import java.net.InetAddress; import java.security.NoSuchProviderException; import java.security.cert.CertificateFactory; @@ -32,7 +33,9 @@ import org.apache.coyote.AsyncContextCal import org.apache.coyote.AsyncStateMachine; import org.apache.coyote.InputBuffer; import org.apache.coyote.Request; +import org.apache.coyote.RequestInfo; import org.apache.juli.logging.Log; +import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.buf.HexUtils; import org.apache.tomcat.util.buf.MessageBytes; @@ -40,6 +43,7 @@ import org.apache.tomcat.util.http.HttpM import org.apache.tomcat.util.http.MimeHeaders; import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState; import org.apache.tomcat.util.net.SSLSupport; +import org.apache.tomcat.util.net.SocketStatus; import org.apache.tomcat.util.res.StringManager; /** @@ -375,6 +379,46 @@ public abstract class AbstractAjpProcess protected abstract void finish() throws IOException; + public SocketState asyncDispatch(SocketStatus status) { + + RequestInfo rp = request.getRequestProcessor(); + try { + rp.setStage(org.apache.coyote.Constants.STAGE_SERVICE); + error = !adapter.asyncDispatch(request, response, status); + } catch (InterruptedIOException e) { + error = true; + } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); + getLog().error(sm.getString("http11processor.request.process"), t); + // 500 - Internal Server Error + response.setStatus(500); + adapter.log(request, response, 0); + error = true; + } + + rp.setStage(org.apache.coyote.Constants.STAGE_ENDED); + + if (error) { + response.setStatus(500); + } + if (isAsync()) { + if (error) { + request.updateCounters(); + return SocketState.CLOSED; + } else { + return SocketState.LONG; + } + } else { + request.updateCounters(); + if (error) { + return SocketState.CLOSED; + } else { + return SocketState.OPEN; + } + } + } + + public void recycle() { asyncStateMachine.recycle(); Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=1136108&r1=1136107&r2=1136108&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Wed Jun 15 16:24:42 2011 @@ -333,47 +333,6 @@ public class AjpAprProcessor extends Abs } - public SocketState asyncDispatch(SocketStatus status) { - - RequestInfo rp = request.getRequestProcessor(); - try { - rp.setStage(org.apache.coyote.Constants.STAGE_SERVICE); - error = !adapter.asyncDispatch(request, response, status); - } catch (InterruptedIOException e) { - error = true; - } catch (Throwable t) { - ExceptionUtils.handleThrowable(t); - log.error(sm.getString("http11processor.request.process"), t); - // 500 - Internal Server Error - response.setStatus(500); - adapter.log(request, response, 0); - error = true; - } - - rp.setStage(org.apache.coyote.Constants.STAGE_ENDED); - - if (error) { - response.setStatus(500); - } - if (isAsync()) { - if (error) { - request.updateCounters(); - return SocketState.CLOSED; - } else { - return SocketState.LONG; - } - } else { - request.updateCounters(); - if (error) { - return SocketState.CLOSED; - } else { - return SocketState.OPEN; - } - } - - } - - // ----------------------------------------------------- ActionHook Methods Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1136108&r1=1136107&r2=1136108&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Wed Jun 15 16:24:42 2011 @@ -332,48 +332,6 @@ public class AjpNioProcessor extends Abs } - public SocketState asyncDispatch(SocketStatus status) { - - RequestInfo rp = request.getRequestProcessor(); - try { - rp.setStage(org.apache.coyote.Constants.STAGE_SERVICE); - error = !adapter.asyncDispatch(request, response, status); - } catch (InterruptedIOException e) { - error = true; - } catch (Throwable t) { - ExceptionUtils.handleThrowable(t); - log.error(sm.getString("http11processor.request.process"), t); - // 500 - Internal Server Error - response.setStatus(500); - adapter.log(request, response, 0); - error = true; - } - - rp.setStage(org.apache.coyote.Constants.STAGE_ENDED); - - if (error) { - response.setStatus(500); - } - if (isAsync()) { - if (error) { - request.updateCounters(); - return SocketState.CLOSED; - } else { - return SocketState.LONG; - } - } else { - request.updateCounters(); - if (error) { - return SocketState.CLOSED; - } else { - return SocketState.OPEN; - } - } - - - } - - // ----------------------------------------------------- ActionHook Methods 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=1136108&r1=1136107&r2=1136108&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Jun 15 16:24:42 2011 @@ -339,46 +339,6 @@ public class AjpProcessor extends Abstra } - public SocketState asyncDispatch(SocketStatus status) { - - RequestInfo rp = request.getRequestProcessor(); - try { - rp.setStage(org.apache.coyote.Constants.STAGE_SERVICE); - error = !adapter.asyncDispatch(request, response, status); - } catch (InterruptedIOException e) { - error = true; - } catch (Throwable t) { - ExceptionUtils.handleThrowable(t); - log.error(sm.getString("http11processor.request.process"), t); - // 500 - Internal Server Error - response.setStatus(500); - adapter.log(request, response, 0); - error = true; - } - - rp.setStage(org.apache.coyote.Constants.STAGE_ENDED); - - if (error) { - response.setStatus(500); - } - if (isAsync()) { - if (error) { - request.updateCounters(); - return SocketState.CLOSED; - } else { - return SocketState.LONG; - } - } else { - request.updateCounters(); - if (error) { - return SocketState.CLOSED; - } else { - return SocketState.OPEN; - } - } - } - - @Override public void recycle() { super.recycle(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org