protected bool DropReadBuffer()
{
Debug.Assert(readBuffers != null);
Debug.Assert(readBuffers.Count > 0);
var data = readBuffers.Dequeue();
int length = data.Length;
Debug.Assert(length > 0);
// Add the new offset to the total one.
readOffset += length;
readPosition = 0;
return readBuffers.Count > 0;
}