Author: markt Date: Tue Jan 3 16:00:32 2017 New Revision: 1777151 URL: http://svn.apache.org/viewvc?rev=1777151&view=rev Log: Remove the requirement to specify the connector when creating a Response For AJP connectors, base the default output buffer size on the configured AJP packet size rather than hard-coding the default based on the minimum permitted AJP packet size.
Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java tomcat/trunk/java/org/apache/catalina/connector/Response.java tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=1777151&r1=1777150&r2=1777151&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Tue Jan 3 16:00:32 2017 @@ -32,6 +32,7 @@ import org.apache.catalina.util.Lifecycl import org.apache.coyote.Adapter; import org.apache.coyote.ProtocolHandler; import org.apache.coyote.UpgradeProtocol; +import org.apache.coyote.ajp.AbstractAjpProtocol; import org.apache.coyote.http11.AbstractHttp11JsseProtocol; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -824,8 +825,7 @@ public class Connector extends Lifecycle * @return a new Servlet request object */ public Request createRequest() { - Request request = new Request(this); - return request; + return new Request(this); } @@ -836,11 +836,12 @@ public class Connector extends Lifecycle * @return a new Servlet response object */ public Response createResponse() { - - Response response = new Response(); - response.setConnector(this); - return (response); - + if (protocolHandler instanceof AbstractAjpProtocol<?>) { + int packetSize = ((AbstractAjpProtocol<?>) protocolHandler).getPacketSize(); + return new Response(packetSize - org.apache.coyote.ajp.Constants.SEND_HEAD_LEN); + } else { + return new Response(); + } } Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1777151&r1=1777150&r2=1777151&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Tue Jan 3 16:00:32 2017 @@ -128,35 +128,21 @@ public class OutputBuffer extends Writer // ----------------------------------------------------------- Constructors - /** - * Default constructor. Allocate the buffer with the default buffer size. - */ - public OutputBuffer() { - - this(DEFAULT_BUFFER_SIZE); - - } - - - /** - * Alternate constructor which allows specifying the initial buffer size. + * Create the buffer with the specified initial size. * * @param size Buffer size to use */ public OutputBuffer(int size) { - bb = ByteBuffer.allocate(size); clear(bb); cb = CharBuffer.allocate(size); clear(cb); - } // ------------------------------------------------------------- Properties - /** * Associated Coyote response. * Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=1777151&r1=1777150&r2=1777151&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Response.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Response.java Tue Jan 3 16:00:32 2017 @@ -98,23 +98,18 @@ public class Response implements HttpSer protected SimpleDateFormat format = null; - // ------------------------------------------------------------- Properties + public Response() { + this(OutputBuffer.DEFAULT_BUFFER_SIZE); + } - /** - * Set the Connector through which this Request was received. - * - * @param connector The new connector - */ - public void setConnector(Connector connector) { - if("AJP/1.3".equals(connector.getProtocol())) { - // default size to size of one ajp-packet - outputBuffer = new OutputBuffer(8184); - } else { - outputBuffer = new OutputBuffer(); - } + + public Response(int outputBufferSize) { + outputBuffer = new OutputBuffer(outputBufferSize); } + // ------------------------------------------------------------- Properties + /** * Coyote response. */ @@ -149,7 +144,7 @@ public class Response implements HttpSer /** * The associated output buffer. */ - protected OutputBuffer outputBuffer; + protected final OutputBuffer outputBuffer; /** Modified: tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java?rev=1777151&r1=1777150&r2=1777151&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java (original) +++ tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java Tue Jan 3 16:00:32 2017 @@ -601,7 +601,6 @@ public class TestResponse extends Tomcat Connector connector = new Connector(); org.apache.coyote.Response cResponse = new org.apache.coyote.Response(); Response response = new Response(); - response.setConnector(connector); response.setCoyoteResponse(cResponse); Request request = new Request(connector); org.apache.coyote.Request cRequest = new org.apache.coyote.Request(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org