public void UpdateMetrics(int uncompressedContentSize, int contentOffset, Compression compression) { using (FileSegment stream = ParentArchive.GetMetricFileStream(MemoryMappedFileAccess.ReadWrite)) using (BinaryWriter bw = stream.GetBinaryWriter()) { stream.Seek(Index * 12, SeekOrigin.Begin); bw.Write(uncompressedContentSize); bw.Write(contentOffset); bw.Write((int)compression); } UncompressedContentSize = uncompressedContentSize; ContentOffset = contentOffset; Compression = compression; }
public FileSegment OpenWritableCapacityStream() { MemoryMappedFile mmf = ParentArchive.GetMemoryMappedFile(MemoryMappedFileAccess.ReadWrite); return(new FileSegment(mmf, GetAbsoluteOffset(), ContentCapacity, MemoryMappedFileAccess.ReadWrite)); }
public FileSegment OpenReadableContentStream() { MemoryMappedFile mmf = ParentArchive.GetMemoryMappedFile(MemoryMappedFileAccess.Read); return(new FileSegment(mmf, GetAbsoluteOffset(), UncompressedContentSize, MemoryMappedFileAccess.Read)); }