You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by vi...@apache.org on 2014/09/16 21:37:55 UTC

svn commit: r1625362 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/

Author: violetagg
Date: Tue Sep 16 19:37:54 2014
New Revision: 1625362

URL: http://svn.apache.org/r1625362
Log:
Merged revision 1604810 from tomcat/trunk:
Add the initial implementation for the permessage-deflate implementation
This is a work-in-progress
- There are still multiple Autobahn failures (or rather there will be once it is plumbed in)
- No support (yet) for compression of outgoing messages

Added:
    tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java
      - copied, changed from r1604810, tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java
    tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/TransformationFactory.java
      - copied unchanged from r1604810, tomcat/trunk/java/org/apache/tomcat/websocket/TransformationFactory.java
Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/Constants.java
    tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Reverse-merged /tomcat/trunk:r1622434
  Merged /tomcat/trunk:r1604810

Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/Constants.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/Constants.java?rev=1625362&r1=1625361&r2=1625362&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/Constants.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/Constants.java Tue Sep 16 19:37:54 2014
@@ -16,8 +16,13 @@
  */
 package org.apache.tomcat.websocket;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 import java.util.Locale;
 
+import javax.websocket.Extension;
+
 /**
  * Internal implementation constants.
  */
@@ -61,6 +66,14 @@ public class Constants {
             Boolean.getBoolean(
                     "org.apache.tomcat.websocket.STRICT_SPEC_COMPLIANCE");
 
+    public static final List<Extension> INSTALLED_EXTENSIONS;
+
+    static {
+        List<Extension> installed = new ArrayList<Extension>(1);
+        installed.add(new WsExtension("permessage-deflate"));
+        INSTALLED_EXTENSIONS = Collections.unmodifiableList(installed);
+    }
+
     private Constants() {
         // Hide default constructor
     }

Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties?rev=1625362&r1=1625361&r2=1625362&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Tue Sep 16 19:37:54 2014
@@ -28,6 +28,10 @@ asyncChannelWrapperSecure.wrongStateWrit
 
 backgroundProcessManager.processFailed=A background process failed
 
+perMessageDeflate.deflateFailed=Failed to decompress a compressed WebSocket frame
+perMessageDeflate.invalidWindowSize=An invalid windows of [{1}] size was specified for [{0}]. Valid values are whole numbers from 8 to 15 inclusive.
+perMessageDeflate.unknownParameter=An unknown extension parameter [{0}] was defined
+
 util.notToken=An illegal extension parameter was specified with name [{0}] and value [{1}]
 util.invalidMessageHandler=The message handler provided does not have an onMessage(Object) method
 util.invalidType=Unable to coerce value [{0}] to type [{1}]. That type is not supported.

Copied: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java (from r1604810, tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java)
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java?p2=tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java&p1=tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java&r1=1604810&r2=1625362&rev=1625362&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java Tue Sep 16 19:37:54 2014
@@ -36,7 +36,7 @@ public class PerMessageDeflate implement
     private static final String SERVER_MAX_WINDOW_BITS = "server_max_window_bits";
     private static final String CLIENT_MAX_WINDOW_BITS = "client_max_window_bits";
 
-    private static final int RSV_BITMASK = 0b100;
+    private static final int RSV_BITMASK = 0x4;
     private static final byte[] EOM_BYTES = new byte[] {0, 0, -1, -1};
 
     public static final String NAME = "permessage-deflate";



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