Author: violetagg Date: Wed Sep 17 18:06:28 2014 New Revision: 1625719 URL: http://svn.apache.org/r1625719 Log: Merged revision 1618835 from tomcat/trunk: Add plumbing to write reserved bits as set in the MessagePart rather than hard-coding them to 0. Re-order method parameters for writing header to align with RFC 6455.
Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1618835 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1625719&r1=1625718&r2=1625719&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Wed Sep 17 18:06:28 2014 @@ -408,8 +408,8 @@ public abstract class WsRemoteEndpointIm } headerBuffer.clear(); - writeHeader(headerBuffer, mp.getOpCode(), mp.getPayload(), first, - mp.isFin(), isMasked(), mask); + writeHeader(headerBuffer, mp.isFin(), mp.getRsv(), mp.getOpCode(), + isMasked(), mp.getPayload(), mask, first); headerBuffer.flip(); if (getBatchingAllowed() || isMasked()) { @@ -620,20 +620,22 @@ public abstract class WsRemoteEndpointIm protected abstract boolean isMasked(); protected abstract void doClose(); - private static void writeHeader(ByteBuffer headerBuffer, byte opCode, - ByteBuffer payload, boolean first, boolean last, boolean masked, - byte[] mask) { + private static void writeHeader(ByteBuffer headerBuffer, boolean fin, + int rsv, byte opCode, boolean masked, ByteBuffer payload, + byte[] mask, boolean first) { byte b = 0; - if (last) { + if (fin) { // Set the fin bit - b = -128; + b -= 128; } + b += (rsv << 4); + if (first) { // This is the first fragment of this message - b = (byte) (b + opCode); + b += opCode; } // If not the first fragment, it is a continuation with opCode of zero --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org