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

View File

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

View File

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

View File

@ -98,7 +98,7 @@ namespace WebSocketSharp
var len = payloadData.Length;
if (len < 126) {
_payloadLength = (byte) len;
_extPayloadLength = Ext.EmptyByteArray;
_extPayloadLength = WebSocket.EmptyBytes;
}
else if (len < 0x010000) {
_payloadLength = (byte) 126;
@ -116,7 +116,7 @@ namespace WebSocketSharp
}
else {
_mask = Mask.Unmask;
_maskingKey = Ext.EmptyByteArray;
_maskingKey = WebSocket.EmptyBytes;
}
_payloadData = payloadData;
@ -461,7 +461,7 @@ Extended Payload Length: {7}
/* Extended Payload Length */
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)
throw new WebSocketException (
"The 'Extended Payload Length' of a frame cannot be read from the data source.");
@ -471,7 +471,7 @@ Extended Payload Length: {7}
/* Masking Key */
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)
throw new WebSocketException (
"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.");
}
else {
data = Ext.EmptyByteArray;
data = WebSocket.EmptyBytes;
}
frame._payloadData = new PayloadData (data, masked);
@ -577,7 +577,7 @@ Extended Payload Length: {7}
_mask = Mask.Unmask;
_payloadData.Mask (_maskingKey);
_maskingKey = Ext.EmptyByteArray;
_maskingKey = WebSocket.EmptyBytes;
}
#endregion