private static async Task FileTransferProgressBars() { const long fileSize = (long)(8 * FileSize.OneKB); var pb4 = new FileTransferProgressBar(fileSize, TimeSpan.FromSeconds(5)) { ForegroundColor = ConsoleColor.Green, NumberOfBlocks = 15, StartBracket = "|", EndBracket = "|", CompletedBlock = "|", IncompleteBlock = "\u00a0", AnimationSequence = UniversalProgressAnimations.PulsingLine }; await TestFileTransferProgressBar(pb4, fileSize, 4); const long fileSize2 = (long)(100 * 36 * FileSize.OneMB); var pb5 = new FileTransferProgressBar(fileSize2, TimeSpan.FromSeconds(5)) { ForegroundColor = ConsoleColor.Green, DisplayBars = false, DisplayAnimation = false }; pb5.FileTransferStalled += HandleFileTransferStalled; await TestFileTransferStalled(pb5, fileSize2, 5); }
private static async Task TestFileTransferStalled(FileTransferProgressBar progress, long fileSize, int num) { Console.Write($"{num}. File transfer in progress... "); using (progress) { for (var i = 0; i <= 110; i++) { progress.BytesReceived = i * (fileSize / 1000); progress.Report((double)i / 1000); await Task.Delay(2); } await Task.Delay(6000); } }
private static async Task TestFileTransferProgressBar(FileTransferProgressBar progress, long fileSize, int num) { Console.Write($"{num}. File transfer in progress... "); using (progress) { for (var i = 0; i <= 150; i++) { progress.BytesReceived = i * (fileSize / 150); progress.Report((double)i / 150); await Task.Delay(20); } progress.BytesReceived = fileSize; progress.Report(1); await Task.Delay(200); } Console.WriteLine(); }