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