Author: markt
Date: Wed Sep 4 14:12:48 2013
New Revision: 1520027
URL: http://svn.apache.org/r1520027
Log:
Calculate the maximum output chunk size when the processor is created.
Since it won't change, there is no need to re-calculate it every time
there is some output to write.
Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.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=1520027&r1=1520026&r2=1520027&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java Wed Sep
4 14:12:48 2013
@@ -140,7 +140,7 @@ public abstract class AbstractAjpProcess
/**
* AJP packet size.
*/
- protected final int packetSize;
+ private final int outputMaxChunkSize;
/**
* Header message. Note that this header is merely the one used during the
@@ -248,7 +248,10 @@ public abstract class AbstractAjpProcess
super(endpoint);
- this.packetSize = packetSize;
+ // Calculate maximum chunk size as packetSize may have been changed
from
+ // the default (Constants.MAX_PACKET_SIZE)
+ this.outputMaxChunkSize =
+ Constants.MAX_SEND_SIZE + packetSize -
Constants.MAX_PACKET_SIZE;
request.setInputBuffer(new SocketInputBuffer());
@@ -1509,13 +1512,11 @@ public abstract class AbstractAjpProcess
if (!swallowResponse) {
int len = chunk.getLength();
// 4 - hardcoded, byte[] marshaling overhead
- // Adjust allowed size if packetSize != default
(Constants.MAX_PACKET_SIZE)
- int chunkSize = Constants.MAX_SEND_SIZE + packetSize -
Constants.MAX_PACKET_SIZE;
int off = 0;
while (len > 0) {
int thisTime = len;
- if (thisTime > chunkSize) {
- thisTime = chunkSize;
+ if (thisTime > outputMaxChunkSize) {
+ thisTime = outputMaxChunkSize;
}
len -= thisTime;
responseMessage.reset();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]