protected override void Dispose(bool disposing) { _recordReader.Dispose(); _recordReader = null; base.Dispose(disposing); }
protected override void PrepareBlocks() { _fileHeader.Read(this); _recordReader = new AlignedRecordReader(this, Header.RecordSize); Head.Next = new Block { Identifier = BlockIdentifier.Records, Length = _fileHeader.RecordCount * _fileHeader.RecordSize }; Head.Next.Next = new Block { Identifier = BlockIdentifier.StringBlock, Length = _fileHeader.StringTableLength }; }
protected override void PrepareBlocks() { _fileHeader.Read(this); _recordReader = new AlignedRecordReader(this, Header.RecordSize); Head.Next = new Block { // Identifier is not really relevant, since we won't parse it anyways. Identifier = BlockIdentifier.OffsetMap, Length = (Header.MaxIndex - Header.MinIndex + 1) * (4 + 2) }; Head.Next.Next = new Block { Identifier = BlockIdentifier.Records, Length = _fileHeader.RecordCount * _fileHeader.RecordSize }; Head.Next.Next.Next = new Block { Identifier = BlockIdentifier.StringBlock, Length = _fileHeader.StringTableLength }; }