void readCheckpointFull ( InputStream is ) throws IOException { _blobTail = BitsUtil . readInt16 ( is ) ; if ( _blobTail < 0 || _buffer . length < _blobTail ) { throw new IllegalStateException ( "Invalid blob tail: " + _blobTail //+ " pos=" + (is.getPosition() - 2) + " " + this ) ; } byte [ ] buffer = _buffer ; IoUtil . readAll ( is , buffer , 0 , _blobTail ) ; int rowLength = BitsUtil . readInt16 ( is ) ; rowHead ( _buffer . length - rowLength ) ; int rowHead = rowHead ( ) ; if ( rowHead < getBlobTail ( ) || buffer . length < rowHead ) { throw new IllegalStateException ( L . l ( "Invalid row-head={0} blob-tail={1}" , rowHead ( ) , getBlobTail ( ) ) ) ; } IoUtil . readAll ( is , buffer , rowHead , buffer . length - rowHead ) ; // validateBlock(row); }
Reads a full block checkpoint .