private void downloadedProgressEventCallback(object sender, WriteObjectProgressArgs e) { var transferredBytes = Interlocked.Add(ref _transferredBytes, e.IncrementTransferred); int numberOfFilesDownloaded = _numberOfFilesDownloaded; if (e.TransferredBytes == e.TotalBytes) { numberOfFilesDownloaded = Interlocked.Increment(ref _numberOfFilesDownloaded); } DownloadDirectoryProgressArgs downloadDirectoryProgress = null; if (_request.DownloadFilesConcurrently) { // If concurrent download is enabled, values for current file, // transferred and total bytes for current file are not set. downloadDirectoryProgress = new DownloadDirectoryProgressArgs(numberOfFilesDownloaded, _totalNumberOfFilesToDownload, transferredBytes, _totalBytes, null, 0, 0); } else { downloadDirectoryProgress = new DownloadDirectoryProgressArgs(numberOfFilesDownloaded, _totalNumberOfFilesToDownload, transferredBytes, _totalBytes, _currentFile, e.TransferredBytes, e.TotalBytes); } _request.OnRaiseProgressEvent(downloadDirectoryProgress); }
private void downloadedProgressEventCallback(object sender, WriteObjectProgressArgs e) { var transferredBytes = Interlocked.Add(ref _transferredBytes, e.IncrementTransferred); int numberOfFilesDownloaded = _numberOfFilesDownloaded; if (e.TransferredBytes == e.TotalBytes) { numberOfFilesDownloaded = Interlocked.Increment(ref _numberOfFilesDownloaded); } DownloadDirectoryProgressArgs downloadDirectoryProgress = null; if (_request.DownloadFilesConcurrently) { // If concurrent download is enabled, values for current file, // transferred and total bytes for current file are not set. downloadDirectoryProgress = new DownloadDirectoryProgressArgs(numberOfFilesDownloaded, _totalNumberOfFilesToDownload, transferredBytes, _totalBytes, null, 0, 0); } else { downloadDirectoryProgress = new DownloadDirectoryProgressArgs(numberOfFilesDownloaded, _totalNumberOfFilesToDownload, transferredBytes, _totalBytes, _currentFile, e.TransferredBytes, e.TotalBytes); } _request.OnRaiseProgressEvent(downloadDirectoryProgress); }
private void DownloadedDirectoryProgressEvent(object sender, DownloadDirectoryProgressArgs e) { if (this._downloadedPackage == null) { return; } this._downloadedPackage.TotalBytes = e.TotalBytes; this._downloadedPackage.TransferredBytes = e.TransferredBytes; this._downloadedPackage.DownloadProgress = (e.TransferredBytes / (double)e.TotalBytes) * 100; }