3 writes to _archive
System.IO.Compression (3)
System\IO\Compression\ZipArchiveEntry.cs (3)
54_archive = archive; 115_archive = archive; 353_archive = null!;
100 references to _archive
System.IO.Compression (100)
System\IO\Compression\ZipArchiveEntry.Async.cs (32)
27switch (_archive.Mode) 35Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 68switch (_archive.Mode) 82Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 101_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 104if (!await ZipLocalFileHeader.TrySkipBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false)) 106_storedOffsetOfCompressedData = _archive.ArchiveStream.Position; 184await _archive.ArchiveStream.WriteAsync(cdStaticHeader, cancellationToken).ConfigureAwait(false); 185await _archive.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false); 190await zip64ExtraField.WriteBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 194await ZipGenericExtraField.WriteAllBlocksAsync(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 198await _archive.ArchiveStream.WriteAsync(_fileComment, cancellationToken).ConfigureAwait(false); 212_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 213(_lhUnknownExtraFields, _lhTrailingExtraFieldData) = await ZipLocalFileHeader.GetExtraFieldsAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 227_archive.ArchiveStream.Seek(await GetOffsetOfCompressedDataAsync(cancellationToken).ConfigureAwait(false), SeekOrigin.Begin); 231await _archive.ArchiveStream.ReadAtLeastAsync(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true, cancellationToken).ConfigureAwait(false); 233await _archive.ArchiveStream.ReadAtLeastAsync(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true, cancellationToken).ConfigureAwait(false); 309if (!await ZipLocalFileHeader.TrySkipBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false)) 336await _archive.ArchiveStream.WriteAsync(lfStaticHeader, cancellationToken).ConfigureAwait(false); 337await _archive.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false); 342await zip64ExtraField.WriteBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 345await ZipGenericExtraField.WriteAllBlocksAsync(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 363DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null), this); 388await _archive.ArchiveStream.WriteAsync(compressedBytes, cancellationToken).ConfigureAwait(false); 395if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 404_archive.ArchiveStream.Seek(_compressedSize, SeekOrigin.Current); 428await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, MetadataBufferLength), cancellationToken).ConfigureAwait(false); 434await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, CrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false); 445await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64SizesBufferLength), cancellationToken).ConfigureAwait(false); 449_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 457await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64DataDescriptorCrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false); 466return _archive.ArchiveStream.WriteAsync(dataDescriptor.AsMemory(0, bytesToWrite), cancellationToken);
System\IO\Compression\ZipArchiveEntry.cs (68)
155if (_archive.Mode == ZipArchiveMode.Create) 157_archive.AcquireArchiveStream(this); 166public ZipArchive Archive => _archive; 233_fileComment = ZipHelper.GetEncodedTruncatedBytesFromString(value, _archive.EntryNameAndCommentEncoding, ushort.MaxValue, out bool isUTF8); 260value, _archive.EntryNameAndCommentEncoding, 0 /* No truncation */, out bool isUTF8); 296if (_archive.Mode == ZipArchiveMode.Read) 298if (_archive.Mode == ZipArchiveMode.Create && _everOpenedForWrite) 341if (_archive == null) 347if (_archive.Mode != ZipArchiveMode.Update) 350_archive.ThrowIfDisposed(); 352_archive.RemoveEntry(this); 368switch (_archive.Mode) 376Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 407switch (_archive.Mode) 421Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 451: _archive?.EntryNameAndCommentEncoding ?? Encoding.UTF8; 467_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 470if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 472_storedOffsetOfCompressedData = _archive.ArchiveStream.Position; 622_archive.ArchiveStream.Seek(centralDirectoryHeaderLength, SeekOrigin.Current); 678_archive.ArchiveStream.Write(cdStaticHeader); 679_archive.ArchiveStream.Write(_storedEntryNameBytes); 682zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 685ZipGenericExtraField.WriteAllBlocks(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 689_archive.ArchiveStream.Write(_fileComment); 704_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 705_lhUnknownExtraFields = ZipLocalFileHeader.GetExtraFields(_archive.ArchiveStream, out _lhTrailingExtraFieldData); 735_archive.ArchiveStream.Seek(GetOffsetOfCompressedData(), SeekOrigin.Begin); 739_archive.ArchiveStream.ReadAtLeast(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true); 741_archive.ArchiveStream.ReadAtLeast(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true); 845Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offsetOfCompressedData, _compressedSize); 855_archive.DebugAssertIsStillArchiveStreamOwner(this); 864CheckSumAndSizeWriteStream crcSizeStream = GetDataCompressor(_archive.ArchiveStream, true, (object? o, EventArgs e) => 868entry._archive.ReleaseArchiveStream(entry); 918if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 950if (_diskNumberStart != _archive.NumberOfThisDisk) 955if (_offsetOfLocalHeader > _archive.ArchiveStream.Length) 961_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 968if (offsetOfCompressedData + _compressedSize > _archive.ArchiveStream.Length) 1048_offsetOfLocalHeader = _archive.ArchiveStream.Position; 1063if (_archive.Mode == ZipArchiveMode.Create && !_archive.ArchiveStream.CanSeek) 1102_offsetOfLocalHeader = _archive.ArchiveStream.Position; 1123_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length, SeekOrigin.Current); 1127_archive.ArchiveStream.Seek(zip64ExtraField.TotalSize, SeekOrigin.Current); 1130_archive.ArchiveStream.Seek(currExtraFieldDataLength, SeekOrigin.Current); 1161_archive.ArchiveStream.Write(lfStaticHeader); 1162_archive.ArchiveStream.Write(_storedEntryNameBytes); 1165zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 1167ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 1185GetDataCompressor(_archive.ArchiveStream, true, null), 1210_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length); 1217if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 1226_archive.ArchiveStream.Seek(_compressedSize, SeekOrigin.Current); 1255_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]); 1261_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]); 1272_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]); 1276_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 1284_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]); 1290finalPosition = _archive.ArchiveStream.Position; 1311_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract, 1319_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32, 1342_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader 1369_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]); 1429if (_archive == null) 1431_archive.ThrowIfDisposed(); 1647if (_entry._archive.ArchiveStream.CanSeek) 1675if (_entry._archive.ArchiveStream.CanSeek)