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

Reply via email to