示例#1
0
        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;
        }
示例#2
0
        public FileSegment OpenWritableCapacityStream()
        {
            MemoryMappedFile mmf = ParentArchive.GetMemoryMappedFile(MemoryMappedFileAccess.ReadWrite);

            return(new FileSegment(mmf, GetAbsoluteOffset(), ContentCapacity, MemoryMappedFileAccess.ReadWrite));
        }
示例#3
0
        public FileSegment OpenReadableContentStream()
        {
            MemoryMappedFile mmf = ParentArchive.GetMemoryMappedFile(MemoryMappedFileAccess.Read);

            return(new FileSegment(mmf, GetAbsoluteOffset(), UncompressedContentSize, MemoryMappedFileAccess.Read));
        }