public void Init(ref SpanReader spanReader) { if (_usedLen == 0) { var read = _stream.Read(_buf, _ofs); spanReader.Buf = _buf.AsSpan(0, read); _usedOfs = 0; _usedLen = (uint)read; _ofs += (uint)read; return; } spanReader.Buf = _buf.AsSpan((int)_usedOfs, (int)_usedLen); }
public bool FillBufAndCheckForEof(ref SpanReader spanReader) { if (spanReader.Buf.Length != 0) { return(false); } var read = _stream.Read(_buf, _ofs); spanReader.Buf = _buf.AsSpan(0, read); _usedOfs = 0; _usedLen = (uint)read; _ofs += (uint)read; return(spanReader.Buf.Length == 0); }