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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to