public async Task ExecuteAsync()

in Core/src/Impl/Commands/ProtectedCommand.cs [36:64]


    public async Task<int> ExecuteAsync()
    {
      Volatile.Write(ref mySubOpsCount, 0);
      
      var validator = new StorageManager(myLogger, myStorage);
      await validator.ValidateStorageMarkersAsync();
      var (tagItems, _) = await validator.LoadTagItemsAsync(myDegreeOfParallelism, myIdentityFilter, null, !myIsProtected);
      validator.DumpProducts(tagItems);
      validator.DumpProperties(tagItems);

      myLogger.Info($"[{DateTime.Now:s}] Updating tag files");
      await tagItems.ParallelForAsync(myDegreeOfParallelism, async tagItem =>
        {
          Interlocked.Increment(ref mySubOpsCount);
          var tagFile = tagItem.TagFile;
          myLogger.Verbose($"  Updating {tagFile}...");

          var tag = tagItem.Tag with
          {
            IsProtected = myIsProtected
          };
         
          using var stream = new MemoryStream();
          await TagUtil.WriteTagScriptAsync(tag, stream);
          await myStorage.CreateForWritingAsync(tagFile, AccessMode.Private, stream);
        });
      myLogger.Info($"[{DateTime.Now:s}] Done (tags: {tagItems.Count})");
      return 0;
    }