internal void Unmask() { if (Mask == Mask.Off) { return; } Mask = Mask.Off; PayloadData.Mask(MaskingKey); MaskingKey = WebSocket.EmptyBytes; }
internal void Unmask() { if (Mask == Mask.Off) { return; } Mask = Mask.Off; PayloadData.Mask(MaskingKey); MaskingKey = Array.Empty <byte>(); }
internal WebSocketFrame( Fin fin, Opcode opcode, PayloadData payloadData, bool compressed = false, bool mask = true) { Fin = fin; Rsv1 = IsOpcodeData(opcode) && compressed ? Rsv.On : Rsv.Off; Rsv2 = Rsv.Off; Rsv3 = Rsv.Off; Opcode = opcode; var len = payloadData.Length; if (len < 126) { PayloadLength = (byte)len; ExtendedPayloadLength = WebSocket.EmptyBytes; } else if (len < 0x010000) { PayloadLength = (byte)126; ExtendedPayloadLength = ((ushort)len).InternalToByteArray(Endianness.Big); } else { PayloadLength = (byte)127; ExtendedPayloadLength = len.InternalToByteArray(Endianness.Big); } if (mask) { Mask = Mask.On; MaskingKey = CreateMaskingKey(); payloadData.Mask(MaskingKey); } else { Mask = Mask.Off; MaskingKey = WebSocket.EmptyBytes; } PayloadData = payloadData; }