internal virtual IEnumerable <byte> Read(ResponseBuffer buffer, int index, int count, int timeout) { if (index + count > buffer.Count) { buffer.Read((uint)(index + count - buffer.Count), timeout); } return(buffer.Skip(index).Take(count)); }
internal override byte Read(ResponseBuffer buffer, int index, int timeout) { if (index * 2 >= buffer.Count - 2) { buffer.Read((uint)(index * 2 - buffer.Count + 3), timeout); } return(byte.Parse(Encoding.ASCII.GetString(buffer.Skip(index * 2 + 1).Take(2).ToArray()), System.Globalization.NumberStyles.HexNumber, null)); }
internal override IEnumerable <byte> Read(ResponseBuffer buffer, int index, int count, int timeout) { if ((index + count) * 2 > buffer.Count - 1) { buffer.Read((uint)((index + count) * 2 - buffer.Count + 1), timeout); } var bytes = buffer.Skip(index * 2 + 1).Take(count * 2).ToArray(); for (int i = 0; i < count; i++) { yield return(byte.Parse(Encoding.ASCII.GetString(bytes, i * 2, 2), System.Globalization.NumberStyles.HexNumber, null)); } }