public static DiskMedium OpenFile(CustomFileStream stream, MemoryPool pool, int fileStructureBlockSize) { byte[] buffer = new byte[fileStructureBlockSize]; stream.ReadRaw(0, buffer, fileStructureBlockSize); FileHeaderBlock header = FileHeaderBlock.Open(buffer); BufferedFile disk = new BufferedFile(stream, pool, header, isNewFile: false); return new DiskMedium(disk, header); }
public static DiskIo OpenFile(string fileName, MemoryPool pool, bool isReadOnly) { CustomFileStream fileStream = CustomFileStream.OpenFile(fileName, pool.PageSize, out int fileStructureBlockSize, isReadOnly, true); DiskMedium disk = DiskMedium.OpenFile(fileStream, pool, fileStructureBlockSize); return(new DiskIo(disk, isReadOnly)); }