/// <summary> /// Initializes a new instance of the <see cref="WebSocketPackageInfo"/> class. /// </summary> /// <param name="dataSource">The data source.</param> /// <param name="binaryDataParser">The binary data parser.</param> /// <param name="stringParser">The string parser.</param> public WebSocketPackageInfo(IList <ArraySegment <byte> > dataSource, IBinaryDataParser binaryDataParser, IStringParser stringParser) { if (binaryDataParser == null) { BinaryData = dataSource; return; } var dataPair = binaryDataParser.Parse(dataSource); Key = dataPair.Key; // plain text package if (dataPair.Value.GetType() == typeof(string) && stringParser != null) { InitializeData((string)dataPair.Value, stringParser); return; } Object = dataPair.Value; }
/// <summary> /// Initializes a new instance of the <see cref="WebSocketPackageInfo"/> class. /// </summary> /// <param name="dataSource">The data source.</param> /// <param name="binaryDataParser">The binary data parser.</param> /// <param name="stringParser">The string parser.</param> public WebSocketPackageInfo(IList<ArraySegment<byte>> dataSource, IBinaryDataParser binaryDataParser, IStringParser stringParser) { if (binaryDataParser == null) { BinaryData = dataSource; return; } var dataPair = binaryDataParser.Parse(dataSource); Key = dataPair.Key; // plain text package if (dataPair.Value.GetType() == typeof(string) && stringParser != null) { InitializeData((string)dataPair.Value, stringParser); return; } Object = dataPair.Value; }