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;
}