public ByteFragment ToByteFragment() { var byteSegment = new ByteFragment { Buffer = _buffer, Offset = _leftOffsetWrite, Count = _rightOffsetWrite - _leftOffsetWrite }; return(byteSegment); }
public ByteFragment GetReadBuffer() { var byteFragment = new ByteFragment { Buffer = _buffer, Offset = _startOffset, Count = _currentReadCount }; return(byteFragment); }
public ByteFragment ToByteFragment() { var byteFragment = new ByteFragment { Buffer = _buffer, Offset = _rightOffsetRead, Count = _currentReadCount - (_rightOffsetRead - _startOffset) }; return(byteFragment); }
public ByteFragment RightPeek(int count) { var remaining = ReadRemaining(); if (remaining < count) { throw new IndexOutOfRangeException($"缓冲区溢出!剩余可用{remaining},期望{count}"); } var byteFragment = new ByteFragment { Buffer = _buffer, Offset = _rightOffsetRead, Count = count }; return(byteFragment); }
public void ShiftLeft(ByteFragment value) { ShiftLeft(value.Buffer, value.Offset, value.Count); }