Callers should be using rQwait() to ensure sufficient data is present, and not poke around in the internal buffering.