Added the internal WebSocket.EmptyBytes field

This commit is contained in:
sta 2015-08-24 16:03:50 +09:00
parent cd886d32df
commit 9ff19e6ecd
4 changed files with 17 additions and 18 deletions

View File

@ -70,12 +70,6 @@ namespace WebSocketSharp
#endregion #endregion
#region Internal Fields
internal static readonly byte[] EmptyByteArray = new byte[0];
#endregion
#region Private Methods #region Private Methods
private static byte[] compress (this byte[] data) private static byte[] compress (this byte[] data)
@ -608,13 +602,13 @@ namespace WebSocketSharp
try { try {
var len = stream.EndRead (ar); var len = stream.EndRead (ar);
bytes = len < 1 bytes = len < 1
? EmptyByteArray ? WebSocket.EmptyBytes
: len < length : len < length
? stream.readBytes (buff, len, length - len) ? stream.readBytes (buff, len, length - len)
: buff; : buff;
} }
catch { catch {
bytes = EmptyByteArray; bytes = WebSocket.EmptyBytes;
} }
if (completed != null) if (completed != null)
@ -1601,7 +1595,7 @@ namespace WebSocketSharp
? BitConverter.GetBytes ((UInt32)(object) value) ? BitConverter.GetBytes ((UInt32)(object) value)
: type == typeof (UInt64) : type == typeof (UInt64)
? BitConverter.GetBytes ((UInt64)(object) value) ? BitConverter.GetBytes ((UInt64)(object) value)
: EmptyByteArray; : WebSocket.EmptyBytes;
if (bytes.Length > 1 && !order.IsHostOrder ()) if (bytes.Length > 1 && !order.IsHostOrder ())
Array.Reverse (bytes); Array.Reverse (bytes);

View File

@ -54,7 +54,7 @@ namespace WebSocketSharp
internal PayloadData () internal PayloadData ()
{ {
_data = Ext.EmptyByteArray; _data = WebSocket.EmptyBytes;
} }
internal PayloadData (byte[] data) internal PayloadData (byte[] data)
@ -105,7 +105,7 @@ namespace WebSocketSharp
get { get {
return _extDataLength > 0 return _extDataLength > 0
? _data.SubArray (0, _extDataLength) ? _data.SubArray (0, _extDataLength)
: Ext.EmptyByteArray; : WebSocket.EmptyBytes;
} }
} }

View File

@ -114,6 +114,11 @@ namespace WebSocketSharp
#region Internal Fields #region Internal Fields
/// <summary>
/// Represents the empty array of <see cref="byte"/> used internally.
/// </summary>
internal static readonly byte[] EmptyBytes = new byte[0];
/// <summary> /// <summary>
/// Represents the length used to determine whether the data should be fragmented in sending. /// Represents the length used to determine whether the data should be fragmented in sending.
/// </summary> /// </summary>
@ -1219,7 +1224,7 @@ namespace WebSocketSharp
/* Not fragmented */ /* Not fragmented */
if (len == 0) if (len == 0)
return send (Fin.Final, opcode, new byte[0], compressed); return send (Fin.Final, opcode, EmptyBytes, compressed);
var quo = len / FragmentLength; var quo = len / FragmentLength;
var rem = (int) (len % FragmentLength); var rem = (int) (len % FragmentLength);

View File

@ -98,7 +98,7 @@ namespace WebSocketSharp
var len = payloadData.Length; var len = payloadData.Length;
if (len < 126) { if (len < 126) {
_payloadLength = (byte) len; _payloadLength = (byte) len;
_extPayloadLength = Ext.EmptyByteArray; _extPayloadLength = WebSocket.EmptyBytes;
} }
else if (len < 0x010000) { else if (len < 0x010000) {
_payloadLength = (byte) 126; _payloadLength = (byte) 126;
@ -116,7 +116,7 @@ namespace WebSocketSharp
} }
else { else {
_mask = Mask.Unmask; _mask = Mask.Unmask;
_maskingKey = Ext.EmptyByteArray; _maskingKey = WebSocket.EmptyBytes;
} }
_payloadData = payloadData; _payloadData = payloadData;
@ -461,7 +461,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) : Ext.EmptyByteArray; var extPayloadLen = size > 0 ? stream.ReadBytes (size) : WebSocket.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.");
@ -471,7 +471,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) : Ext.EmptyByteArray; var maskingKey = masked ? stream.ReadBytes (4) : WebSocket.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.");
@ -503,7 +503,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 = Ext.EmptyByteArray; data = WebSocket.EmptyBytes;
} }
frame._payloadData = new PayloadData (data, masked); frame._payloadData = new PayloadData (data, masked);
@ -577,7 +577,7 @@ Extended Payload Length: {7}
_mask = Mask.Unmask; _mask = Mask.Unmask;
_payloadData.Mask (_maskingKey); _payloadData.Mask (_maskingKey);
_maskingKey = Ext.EmptyByteArray; _maskingKey = WebSocket.EmptyBytes;
} }
#endregion #endregion