Author: markt Date: Thu Aug 20 13:15:34 2015 New Revision: 1696787 URL: http://svn.apache.org/r1696787 Log: Implement a TODO. Log receipt of an unexpected ACK.
Modified: tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettingsLocal.java tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties Modified: tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettingsLocal.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettingsLocal.java?rev=1696787&r1=1696786&r2=1696787&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettingsLocal.java (original) +++ tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettingsLocal.java Thu Aug 20 13:15:34 2015 @@ -67,14 +67,14 @@ public class ConnectionSettingsLocal ext } - synchronized void ack() { + synchronized boolean ack() { if (sendInProgress) { sendInProgress = false; current.putAll(pending); pending.clear(); + return true; } else { - // Unexpected ACK. Log it? - // TODO + return false; } } 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=1696787&r1=1696786&r2=1696787&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java (original) +++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Thu Aug 20 13:15:34 2015 @@ -1014,7 +1014,11 @@ public class Http2UpgradeHandler extends @Override public void settingsEnd(boolean ack) throws IOException { if (ack) { - localSettings.ack(); + if (!localSettings.ack()) { + // Ack was unexpected + log.warn(sm.getString( + "upgradeHandler.unexpectedAck", connectionId, getIdentifier())); + } } else { synchronized (socketWrapper) { socketWrapper.write(true, SETTINGS_ACK, 0, SETTINGS_ACK.length); Modified: tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties?rev=1696787&r1=1696786&r2=1696787&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties Thu Aug 20 13:15:34 2015 @@ -96,6 +96,7 @@ upgradeHandler.stream.closed=Stream [{0} upgradeHandler.stream.even=A new remote stream ID of [{0}] was requested but all remote streams must use odd identifiers upgradeHandler.stream.old=A new remote stream ID of [{0}] was requested but the most recent stream was [{1}] upgradeHandler.tooManyRemoteStreams=The client attempted to use more than [{0}] active streams +upgradeHandler.unexpectedAck=Connection [{0}], Stream [{1}], A settings acknowledgement was received when not expected upgradeHandler.unexpectedEos=Unexpected end of stream upgradeHandler.unexpectedStatus=An unexpected value of status ([{0}]) was passed to this method upgradeHandler.upgrade=Connection [{0}], HTTP/1.1 upgrade to stream [1] --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org