3 writes to _archive
System.IO.Compression (3)
System\IO\Compression\ZipArchiveEntry.cs (3)
54_archive = archive; 115_archive = archive; 337_archive = null!;
96 references to _archive
System.IO.Compression (96)
System\IO\Compression\ZipArchiveEntry.Async.cs (30)
27switch (_archive.Mode) 35Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 45_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 48if (!await ZipLocalFileHeader.TrySkipBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false)) 50_storedOffsetOfCompressedData = _archive.ArchiveStream.Position; 128await _archive.ArchiveStream.WriteAsync(cdStaticHeader, cancellationToken).ConfigureAwait(false); 129await _archive.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false); 134await zip64ExtraField.WriteBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 138await ZipGenericExtraField.WriteAllBlocksAsync(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 142await _archive.ArchiveStream.WriteAsync(_fileComment, cancellationToken).ConfigureAwait(false); 156_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 157(_lhUnknownExtraFields, _lhTrailingExtraFieldData) = await ZipLocalFileHeader.GetExtraFieldsAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 171_archive.ArchiveStream.Seek(await GetOffsetOfCompressedDataAsync(cancellationToken).ConfigureAwait(false), SeekOrigin.Begin); 175await ZipHelper.ReadBytesAsync(_archive.ArchiveStream, _compressedBytes[i], maxSingleBufferSize, cancellationToken).ConfigureAwait(false); 177await ZipHelper.ReadBytesAsync(_archive.ArchiveStream, _compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), cancellationToken).ConfigureAwait(false); 244if (!await ZipLocalFileHeader.TrySkipBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false)) 271await _archive.ArchiveStream.WriteAsync(lfStaticHeader, cancellationToken).ConfigureAwait(false); 272await _archive.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false); 277await zip64ExtraField.WriteBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 280await ZipGenericExtraField.WriteAllBlocksAsync(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 298DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null), this); 323await _archive.ArchiveStream.WriteAsync(compressedBytes, cancellationToken).ConfigureAwait(false); 330if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 339_archive.ArchiveStream.Seek(_compressedSize, SeekOrigin.Current); 363await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, MetadataBufferLength), cancellationToken).ConfigureAwait(false); 369await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, CrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false); 380await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64SizesBufferLength), cancellationToken).ConfigureAwait(false); 384_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 392await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64DataDescriptorCrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false); 401return _archive.ArchiveStream.WriteAsync(dataDescriptor.AsMemory(0, bytesToWrite), cancellationToken);
System\IO\Compression\ZipArchiveEntry.cs (66)
155if (_archive.Mode == ZipArchiveMode.Create) 157_archive.AcquireArchiveStream(this); 166public ZipArchive Archive => _archive; 217_fileComment = ZipHelper.GetEncodedTruncatedBytesFromString(value, _archive.EntryNameAndCommentEncoding, ushort.MaxValue, out bool isUTF8); 244value, _archive.EntryNameAndCommentEncoding, 0 /* No truncation */, out bool isUTF8); 280if (_archive.Mode == ZipArchiveMode.Read) 282if (_archive.Mode == ZipArchiveMode.Create && _everOpenedForWrite) 325if (_archive == null) 331if (_archive.Mode != ZipArchiveMode.Update) 334_archive.ThrowIfDisposed(); 336_archive.RemoveEntry(this); 352switch (_archive.Mode) 360Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 381: _archive?.EntryNameAndCommentEncoding ?? Encoding.UTF8; 397_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 400if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 402_storedOffsetOfCompressedData = _archive.ArchiveStream.Position; 564_archive.ArchiveStream.Seek(centralDirectoryHeaderLength, SeekOrigin.Current); 620_archive.ArchiveStream.Write(cdStaticHeader); 621_archive.ArchiveStream.Write(_storedEntryNameBytes); 624zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 627ZipGenericExtraField.WriteAllBlocks(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 631_archive.ArchiveStream.Write(_fileComment); 646_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 647_lhUnknownExtraFields = ZipLocalFileHeader.GetExtraFields(_archive.ArchiveStream, out _lhTrailingExtraFieldData); 677_archive.ArchiveStream.Seek(GetOffsetOfCompressedData(), SeekOrigin.Begin); 681ZipHelper.ReadBytes(_archive.ArchiveStream, _compressedBytes[i], maxSingleBufferSize); 683ZipHelper.ReadBytes(_archive.ArchiveStream, _compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize)); 777Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offsetOfCompressedData, _compressedSize); 787_archive.DebugAssertIsStillArchiveStreamOwner(this); 791CheckSumAndSizeWriteStream crcSizeStream = GetDataCompressor(_archive.ArchiveStream, true, (object? o, EventArgs e) => 795entry._archive.ReleaseArchiveStream(entry); 836if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 872if (_diskNumberStart != _archive.NumberOfThisDisk) 877if (_offsetOfLocalHeader > _archive.ArchiveStream.Length) 883_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 890if (offsetOfCompressedData + _compressedSize > _archive.ArchiveStream.Length) 970_offsetOfLocalHeader = _archive.ArchiveStream.Position; 986if (_archive.Mode == ZipArchiveMode.Create && _archive.ArchiveStream.CanSeek == false) 1025_offsetOfLocalHeader = _archive.ArchiveStream.Position; 1046_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length, SeekOrigin.Current); 1050_archive.ArchiveStream.Seek(zip64ExtraField.TotalSize, SeekOrigin.Current); 1053_archive.ArchiveStream.Seek(currExtraFieldDataLength, SeekOrigin.Current); 1084_archive.ArchiveStream.Write(lfStaticHeader); 1085_archive.ArchiveStream.Write(_storedEntryNameBytes); 1088zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 1090ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 1108GetDataCompressor(_archive.ArchiveStream, true, null), 1133_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length); 1140if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 1149_archive.ArchiveStream.Seek(_compressedSize, SeekOrigin.Current); 1178_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]); 1184_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]); 1195_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]); 1199_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 1207_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]); 1213finalPosition = _archive.ArchiveStream.Position; 1234_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract, 1242_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32, 1265_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader 1292_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]); 1352if (_archive == null) 1354_archive.ThrowIfDisposed(); 1570if (_entry._archive.ArchiveStream.CanSeek) 1598if (_entry._archive.ArchiveStream.CanSeek)