private int ReadByteCore()
{
PrepareForReading();
byte[] buffer = GetBuffer();
if (_readPos == _readLength)
{
FlushWriteBuffer();
Debug.Assert(_bufferLength > 0, "_bufferSize > 0");
_readLength = ReadNative(buffer, 0, _bufferLength);
_readPos = 0;
if (_readLength == 0)
{
return -1;
}
}
return buffer[_readPos++];
}