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-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to