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 2017/01/03 16:00:32 UTC
svn commit: r1777151 - in /tomcat/trunk:
java/org/apache/catalina/connector/Connector.java
java/org/apache/catalina/connector/OutputBuffer.java
java/org/apache/catalina/connector/Response.java
test/org/apache/catalina/connector/TestResponse.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org