public WebSocketFrame( WebSocketFin fin, WebSocketRsv rsv1, WebSocketRsv rsv2, WebSocketRsv rsv3, WebSocketOpcode opcode, WebSocketMask mask, byte[] maskingKey, Stream payload ) : this(fin, rsv1, rsv2, rsv3, opcode, mask, maskingKey, 0, new byte[0], payload) { if (payload != null) { var len = payload.Length; if (len < 126) { _payloadLength = (byte)len; _extPayloadLength = new byte[0]; } else if (len < 0x010000) { _payloadLength = (byte)126; _extPayloadLength = WebSocketUtils.GetBigEndianBytes((ushort)len); } else { _payloadLength = (byte)127; _extPayloadLength = WebSocketUtils.GetBigEndianBytes((ulong)len); } } }
public WebSocketFrame( WebSocketFin fin, WebSocketOpcode opcode, WebSocketMask mask, Stream payload ) : this(fin, WebSocketRsv.Off, WebSocketRsv.Off, WebSocketRsv.Off, opcode, mask, mask == WebSocketMask.Mask ? WebSocketUtils.CreateMaskingKey() : new byte[0], payload) { }