示例#1
0
        private void OnChunkDownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            Package.AddReceivedBytes(e.ProgressedByteSize);
            _bandwidth.CalculateSpeed(e.ProgressedByteSize);

            ChunkDownloadProgressChanged?.Invoke(this, e);
            DownloadProgressChanged?.Invoke(this,
                                            new DownloadProgressChangedEventArgs(nameof(DownloadService))
            {
                TotalBytesToReceive        = Package.TotalFileSize,
                ReceivedBytesSize          = Package.ReceivedBytesSize,
                BytesPerSecondSpeed        = _bandwidth.Speed,
                AverageBytesPerSecondSpeed = _bandwidth.AverageSpeed,
                ReceivedBytes = e.ReceivedBytes
            });
        }
示例#2
0
        private void OnChunkDownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            _bandwidth.CalculateSpeed(e.ProgressedByteSize);
            var totalProgressArg = new DownloadProgressChangedEventArgs(nameof(DownloadService))
            {
                TotalBytesToReceive        = Package.TotalFileSize,
                ReceivedBytesSize          = Package.ReceivedBytesSize,
                BytesPerSecondSpeed        = _bandwidth.Speed,
                AverageBytesPerSecondSpeed = _bandwidth.AverageSpeed,
                ProgressedByteSize         = e.ProgressedByteSize,
                ReceivedBytes = e.ReceivedBytes
            };

            Package.SaveProgress = totalProgressArg.ProgressPercentage;
            ChunkDownloadProgressChanged?.Invoke(this, e);
            DownloadProgressChanged?.Invoke(this, totalProgressArg);
        }