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: [email protected]
For additional commands, e-mail: [email protected]