From d359146b5cb48ffd850bf5a63d37f141d21dba6f Mon Sep 17 00:00:00 2001 From: sta Date: Mon, 18 May 2015 15:28:16 +0900 Subject: [PATCH] Refactored a few for WebSocketFrame.cs --- websocket-sharp/WebSocketFrame.cs | 34 ++++++++++++++++--------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/websocket-sharp/WebSocketFrame.cs b/websocket-sharp/WebSocketFrame.cs index afb9ac39..fa39173f 100644 --- a/websocket-sharp/WebSocketFrame.cs +++ b/websocket-sharp/WebSocketFrame.cs @@ -38,16 +38,17 @@ namespace WebSocketSharp { #region Private Fields - private byte[] _extPayloadLength; - private Fin _fin; - private Mask _mask; - private byte[] _maskingKey; - private Opcode _opcode; - private PayloadData _payloadData; - private byte _payloadLength; - private Rsv _rsv1; - private Rsv _rsv2; - private Rsv _rsv3; + private static readonly byte[] _emptyBytes; + private byte[] _extPayloadLength; + private Fin _fin; + private Mask _mask; + private byte[] _maskingKey; + private Opcode _opcode; + private PayloadData _payloadData; + private byte _payloadLength; + private Rsv _rsv1; + private Rsv _rsv2; + private Rsv _rsv3; #endregion @@ -62,6 +63,7 @@ namespace WebSocketSharp static WebSocketFrame () { EmptyUnmaskPingBytes = CreatePingFrame (false).ToByteArray (); + _emptyBytes = new byte[0]; } #endregion @@ -98,7 +100,7 @@ namespace WebSocketSharp var len = payloadData.Length; if (len < 126) { _payloadLength = (byte) len; - _extPayloadLength = new byte[0]; + _extPayloadLength = _emptyBytes; } else if (len < 0x010000) { _payloadLength = (byte) 126; @@ -116,7 +118,7 @@ namespace WebSocketSharp } else { _mask = Mask.Unmask; - _maskingKey = new byte[0]; + _maskingKey = _emptyBytes; } _payloadData = payloadData; @@ -462,7 +464,7 @@ Extended Payload Length: {7} /* Extended Payload Length */ 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) throw new WebSocketException ( "The 'Extended Payload Length' of a frame cannot be read from the data source."); @@ -472,7 +474,7 @@ Extended Payload Length: {7} /* Masking Key */ 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) throw new WebSocketException ( "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."); } else { - data = new byte[0]; + data = _emptyBytes; } frame._payloadData = new PayloadData (data, masked); @@ -578,7 +580,7 @@ Extended Payload Length: {7} _mask = Mask.Unmask; _payloadData.Mask (_maskingKey); - _maskingKey = new byte[0]; + _maskingKey = _emptyBytes; } #endregion