Author: markt
Date: Fri Jun 12 17:20:46 2015
New Revision: 1685136

URL: http://svn.apache.org/r1685136
Log:
writeBody() log the actual length being written rather than the size of the 
data remaining in the buffer.

allocate() don't update leftToAllocate until the allocation loop has completed

Modified:
    tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1685136&r1=1685135&r2=1685136&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Fri Jun 
12 17:20:46 2015
@@ -456,7 +456,7 @@ public class Http2UpgradeHandler extends
     void writeBody(Stream stream, ByteBuffer data, int len, boolean finished) 
throws IOException {
         if (log.isDebugEnabled()) {
             log.debug(sm.getString("upgradeHandler.writeBody", connectionId, 
stream.getIdentifier(),
-                    Integer.toString(data.remaining())));
+                    Integer.toString(len)));
         }
         synchronized (socketWrapper) {
             byte[] header = new byte[9];
@@ -628,6 +628,7 @@ public class Http2UpgradeHandler extends
             // Use an Iterator so fully allocated children/recipients can be
             // removed.
             Iterator<AbstractStream> iter = recipients.iterator();
+            int allocated = 0;
             while (iter.hasNext()) {
                 AbstractStream recipient = iter.next();
                 int share = leftToAllocate * recipient.getWeight() / 
totalWeight;
@@ -643,8 +644,9 @@ public class Http2UpgradeHandler extends
                 if (remainder > 0) {
                     iter.remove();
                 }
-                leftToAllocate -= (share - remainder);
+                allocated += (share - remainder);
             }
+            leftToAllocate -= allocated;
         }
 
         return 0;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to