예제 #1
0
        protected override int ReadNextByte()
        {
            if (_dataIndex == _dataParts.Count)
            {
                return(-1);
            }

            var b = _data.Span[_dataOfs];

            if (++_dataOfs == _data.Length)
            {
                _dataOfs    = 0;
                _dataCount += _data.Length;
                if (++_dataIndex < _dataParts.Count)
                {
                    _data = _packetReader.GetPacketData(_dataParts[_dataIndex]);
                }
                else
                {
                    _data = Memory <byte> .Empty;
                }
            }

            return(b);
        }