public override async Task RentAsync()

in Core/src/Impl/Storages/ZipHelpers/ExclusiveZipArchiveProvider.cs [40:51]


    public override async Task<ZipArchiveGuard> RentAsync(bool writable)
    {
      Debug.Assert(
        (writable && (Mode == ZipArchiveStorageRwMode.Create || Mode == ZipArchiveStorageRwMode.ReadWrite || Mode == ZipArchiveStorageRwMode.ReadWithAutoWritePromotion)) ||
        (!writable && (Mode == ZipArchiveStorageRwMode.Read || Mode == ZipArchiveStorageRwMode.ReadWrite || Mode == ZipArchiveStorageRwMode.ReadWithAutoWritePromotion)));
      
      await myLock.WaitAsync();
      if (writable && Mode == ZipArchiveStorageRwMode.ReadWithAutoWritePromotion && myArchive.CurrentArchiveMode != ZipArchiveMode.Update)
        myArchive.PromoteToUpdateModeIfNeeded();
      
      return new ZipArchiveGuard(myArchive, this);
    }