public override byte ReadByte()
{
// Performance might be improved by reading ahead into an array of
// e.g. 128 bytes and readByte() from there.
if (curAvail == 0)
{
curBufIndex++;
if (curBufIndex >= buffers.Length)
throw new System.IO.IOException("read past EOF");
curBuf = buffers[curBufIndex];
curBuf.Seek(0, System.IO.SeekOrigin.Begin);
curAvail = bufSizes[curBufIndex];
}
curAvail--;
return (byte) curBuf.ReadByte();
}