From dbd3520d9c7cbf53e7c0e80b7fce034260dbdc20 Mon Sep 17 00:00:00 2001 From: Carl Johnsen Date: Mon, 10 Feb 2025 12:18:16 +0100 Subject: [PATCH] Formatting --- .../Main/Operation/Restore/FileProcessor.cs | 73 ++++++++++--------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/Duplicati/Library/Main/Operation/Restore/FileProcessor.cs b/Duplicati/Library/Main/Operation/Restore/FileProcessor.cs index 8b61eea9c..b92c186e2 100644 --- a/Duplicati/Library/Main/Operation/Restore/FileProcessor.cs +++ b/Duplicati/Library/Main/Operation/Restore/FileProcessor.cs @@ -1,22 +1,22 @@ // Copyright (C) 2025, The Duplicati Team // https://duplicati.com, hello@duplicati.com -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in +// +// The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. using System; @@ -66,12 +66,12 @@ namespace Duplicati.Library.Main.Operation.Restore }, async self => { - Stopwatch sw_file = options.InternalProfiling ? new () : null; - Stopwatch sw_block = options.InternalProfiling ? new () : null; - Stopwatch sw_meta = options.InternalProfiling ? new () : null; - Stopwatch sw_req = options.InternalProfiling ? new () : null; - Stopwatch sw_resp = options.InternalProfiling ? new () : null; - Stopwatch sw_work = options.InternalProfiling ? new () : null; + Stopwatch sw_file = options.InternalProfiling ? new() : null; + Stopwatch sw_block = options.InternalProfiling ? new() : null; + Stopwatch sw_meta = options.InternalProfiling ? new() : null; + Stopwatch sw_req = options.InternalProfiling ? new() : null; + Stopwatch sw_resp = options.InternalProfiling ? new() : null; + Stopwatch sw_work = options.InternalProfiling ? new() : null; try { @@ -206,7 +206,7 @@ namespace Duplicati.Library.Main.Operation.Restore // Burst the block requests to speed up the restore int burst = Channels.BufferSize; int j = 0; - for (int i = 0; i < (int) Math.Min(missing_blocks.Count, burst); i++) + for (int i = 0; i < (int)Math.Min(missing_blocks.Count, burst); i++) { await block_request.WriteAsync(missing_blocks[i]); } @@ -303,7 +303,8 @@ namespace Duplicati.Library.Main.Operation.Restore } } - if (!options.SkipMetadata) { + if (!options.SkipMetadata) + { empty_file_or_symlink |= await RestoreMetadata(db, file, block_request, block_response, options, sw_meta, sw_work, sw_req, sw_resp); } @@ -476,7 +477,7 @@ namespace Duplicati.Library.Main.Operation.Restore /// The restoration results. /// The channel to request blocks from the block manager. Used to inform the block manager which blocks are already present. /// An awaitable `Task`, which returns a collection of data blocks that are missing. - private static async Task<(long,List,List)> VerifyTargetBlocks(FileRequest file, BlockRequest[] blocks, System.Security.Cryptography.HashAlgorithm filehasher, System.Security.Cryptography.HashAlgorithm blockhasher, Options options, RestoreResults results, IChannel block_request) + private static async Task<(long, List, List)> VerifyTargetBlocks(FileRequest file, BlockRequest[] blocks, System.Security.Cryptography.HashAlgorithm filehasher, System.Security.Cryptography.HashAlgorithm blockhasher, Options options, RestoreResults results, IChannel block_request) { long bytes_read = 0; List missing_blocks = []; @@ -541,7 +542,7 @@ namespace Duplicati.Library.Main.Operation.Restore if (Convert.ToBase64String(filehasher.Hash) == file.Hash) { // Truncate the file if it is larger than the expected size. - FileInfo fi = new (file.TargetPath); + FileInfo fi = new(file.TargetPath); if (file.Length < fi.Length) { if (options.Dryrun) @@ -611,7 +612,7 @@ namespace Duplicati.Library.Main.Operation.Restore try { f_original.Seek(i * options.Blocksize, SeekOrigin.Begin); - read = await f_original.ReadAsync(buffer, 0, (int) blocks[j].BlockSize); + read = await f_original.ReadAsync(buffer, 0, (int)blocks[j].BlockSize); } catch (Exception) { @@ -632,19 +633,19 @@ namespace Duplicati.Library.Main.Operation.Restore else { if (!options.Dryrun) - { - try { - f_target.Seek(blocks[j].BlockOffset * options.Blocksize, SeekOrigin.Begin); - await f_target.WriteAsync(buffer, 0, read); - } - catch (Exception) - { - lock (results) + try { - results.BrokenLocalFiles.Add(file.TargetPath); + f_target.Seek(blocks[j].BlockOffset * options.Blocksize, SeekOrigin.Begin); + await f_target.WriteAsync(buffer, 0, read); } - throw; + catch (Exception) + { + lock (results) + { + results.BrokenLocalFiles.Add(file.TargetPath); + } + throw; } } bytes_read += read;