Refactored a few for WebSocketFrame.cs
This commit is contained in:
parent
64fd327e28
commit
d359146b5c
@ -38,16 +38,17 @@ namespace WebSocketSharp
|
|||||||
{
|
{
|
||||||
#region Private Fields
|
#region Private Fields
|
||||||
|
|
||||||
private byte[] _extPayloadLength;
|
private static readonly byte[] _emptyBytes;
|
||||||
private Fin _fin;
|
private byte[] _extPayloadLength;
|
||||||
private Mask _mask;
|
private Fin _fin;
|
||||||
private byte[] _maskingKey;
|
private Mask _mask;
|
||||||
private Opcode _opcode;
|
private byte[] _maskingKey;
|
||||||
private PayloadData _payloadData;
|
private Opcode _opcode;
|
||||||
private byte _payloadLength;
|
private PayloadData _payloadData;
|
||||||
private Rsv _rsv1;
|
private byte _payloadLength;
|
||||||
private Rsv _rsv2;
|
private Rsv _rsv1;
|
||||||
private Rsv _rsv3;
|
private Rsv _rsv2;
|
||||||
|
private Rsv _rsv3;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -62,6 +63,7 @@ namespace WebSocketSharp
|
|||||||
static WebSocketFrame ()
|
static WebSocketFrame ()
|
||||||
{
|
{
|
||||||
EmptyUnmaskPingBytes = CreatePingFrame (false).ToByteArray ();
|
EmptyUnmaskPingBytes = CreatePingFrame (false).ToByteArray ();
|
||||||
|
_emptyBytes = new byte[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -98,7 +100,7 @@ namespace WebSocketSharp
|
|||||||
var len = payloadData.Length;
|
var len = payloadData.Length;
|
||||||
if (len < 126) {
|
if (len < 126) {
|
||||||
_payloadLength = (byte) len;
|
_payloadLength = (byte) len;
|
||||||
_extPayloadLength = new byte[0];
|
_extPayloadLength = _emptyBytes;
|
||||||
}
|
}
|
||||||
else if (len < 0x010000) {
|
else if (len < 0x010000) {
|
||||||
_payloadLength = (byte) 126;
|
_payloadLength = (byte) 126;
|
||||||
@ -116,7 +118,7 @@ namespace WebSocketSharp
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
_mask = Mask.Unmask;
|
_mask = Mask.Unmask;
|
||||||
_maskingKey = new byte[0];
|
_maskingKey = _emptyBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
_payloadData = payloadData;
|
_payloadData = payloadData;
|
||||||
@ -462,7 +464,7 @@ Extended Payload Length: {7}
|
|||||||
/* Extended Payload Length */
|
/* Extended Payload Length */
|
||||||
|
|
||||||
var size = payloadLen < 126 ? 0 : (payloadLen == 126 ? 2 : 8);
|
var size = payloadLen < 126 ? 0 : (payloadLen == 126 ? 2 : 8);
|
||||||
var extPayloadLen = size > 0 ? stream.ReadBytes (size) : new byte[0];
|
var extPayloadLen = size > 0 ? stream.ReadBytes (size) : _emptyBytes;
|
||||||
if (size > 0 && extPayloadLen.Length != size)
|
if (size > 0 && extPayloadLen.Length != size)
|
||||||
throw new WebSocketException (
|
throw new WebSocketException (
|
||||||
"The 'Extended Payload Length' of a frame cannot be read from the data source.");
|
"The 'Extended Payload Length' of a frame cannot be read from the data source.");
|
||||||
@ -472,7 +474,7 @@ Extended Payload Length: {7}
|
|||||||
/* Masking Key */
|
/* Masking Key */
|
||||||
|
|
||||||
var masked = mask == Mask.Mask;
|
var masked = mask == Mask.Mask;
|
||||||
var maskingKey = masked ? stream.ReadBytes (4) : new byte[0];
|
var maskingKey = masked ? stream.ReadBytes (4) : _emptyBytes;
|
||||||
if (masked && maskingKey.Length != 4)
|
if (masked && maskingKey.Length != 4)
|
||||||
throw new WebSocketException (
|
throw new WebSocketException (
|
||||||
"The 'Masking Key' of a frame cannot be read from the data source.");
|
"The 'Masking Key' of a frame cannot be read from the data source.");
|
||||||
@ -504,7 +506,7 @@ Extended Payload Length: {7}
|
|||||||
"The 'Payload Data' of a frame cannot be read from the data source.");
|
"The 'Payload Data' of a frame cannot be read from the data source.");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
data = new byte[0];
|
data = _emptyBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
frame._payloadData = new PayloadData (data, masked);
|
frame._payloadData = new PayloadData (data, masked);
|
||||||
@ -578,7 +580,7 @@ Extended Payload Length: {7}
|
|||||||
|
|
||||||
_mask = Mask.Unmask;
|
_mask = Mask.Unmask;
|
||||||
_payloadData.Mask (_maskingKey);
|
_payloadData.Mask (_maskingKey);
|
||||||
_maskingKey = new byte[0];
|
_maskingKey = _emptyBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
Loading…
Reference in New Issue
Block a user