public int ReadInt32() { NeedOneByteInBuffer(); int res = 0; if (Pos + 4 <= End) { res = PackUnpack.UnpackInt32BE(Buf, Pos); Pos += 4; } else { for (var i = 0; i < 4; i++) { NeedOneByteInBuffer(); res <<= 8; res += Buf[Pos]; Pos++; } } return(res); }