Refactored PayloadData.cs

This commit is contained in:
sta 2014-09-24 19:01:01 +09:00
parent c2e60b9d45
commit f94c6850d4

View File

@ -37,11 +37,10 @@ namespace WebSocketSharp
{ {
#region Private Fields #region Private Fields
private byte[] _data; private byte[] _data;
private static readonly byte[] _empty; private long _extDataLength;
private long _extDataLength; private long _length;
private long _length; private bool _masked;
private bool _masked;
#endregion #endregion
@ -51,20 +50,11 @@ namespace WebSocketSharp
#endregion #endregion
#region Static Constructor
static PayloadData ()
{
_empty = new byte[0];
}
#endregion
#region Internal Constructors #region Internal Constructors
internal PayloadData () internal PayloadData ()
{ {
_data = _empty; _data = new byte[0];
} }
internal PayloadData (byte[] data) internal PayloadData (byte[] data)
@ -95,8 +85,7 @@ namespace WebSocketSharp
internal bool IncludesReservedCloseStatusCode { internal bool IncludesReservedCloseStatusCode {
get { get {
return _length > 1 && return _length > 1 && _data.SubArray (0, 2).ToUInt16 (ByteOrder.Big).IsReserved ();
_data.SubArray (0, 2).ToUInt16 (ByteOrder.Big).IsReserved ();
} }
} }
@ -116,7 +105,7 @@ namespace WebSocketSharp
get { get {
return _extDataLength > 0 return _extDataLength > 0
? _data.SubArray (0, _extDataLength) ? _data.SubArray (0, _extDataLength)
: _empty; : new byte[0];
} }
} }