private void downloadDataReceived(SDDataReceivedEventArgs args) { var download = args.Download; var count = args.Count; var data = args.Data; long previousOffset = 0; lock (this.monitor) { if (this.currentDownload == download) { if (this.DoStopIfNecessary()) { return; } previousOffset = this.currentOffset; this.lastHeartbeat = DateTime.Now; this.currentOffset += count; this.sumOfBytesRead += count; } } this.OnDataReceived(new SDDataReceivedEventArgs(this, data, previousOffset, count)); }
private void downloadDataReceived(SDDataReceivedEventArgs args) { lock (this.monitor) { this.WriteToFile(args.Data, args.Offset, args.Count); } }
protected virtual void OnDataReceived(SDDataReceivedEventArgs args) { if (this.DataReceived != null) { this.DataReceived(args); } }
void DataReceived(SDDataReceivedEventArgs args) { OnReceived?.Invoke(args); if (lastSent < Time.time) { OnProgress?.Invoke(args); lastSent = Time.time + 0.1f; CalculateAvrage(); } }
private void downloadDataReceived(SDDataReceivedEventArgs args) { this.AddSample(args.Count); var waitingTime = this.CalculateWaitingTime(); if (waitingTime > 0) { Thread.Sleep(waitingTime); } }
private void OnDownloadDataReceived(SDDataReceivedEventArgs args) { lock (this.monitor) { if (!alreadyDownloadedSizes.ContainsKey(args.Download)) { this.alreadyDownloadedSizes[args.Download] = 0; } this.alreadyDownloadedSizes[args.Download] += args.Count; } }
private void OnProgress(SDDataReceivedEventArgs args) { if (InvokeRequired) { Invoke(new MethodInvoker(() => OnProgress(args))); return; } StatusLabel.Text = "Speed: " + SuperDownloader.DownloadSpeed.BitesToFormatedString() + "/sec."; RemTimeLabel.Text = "Remaining time: " + SuperDownloader.RemainingTime.SecondsToDateFormat() + ""; label1.Text = SuperDownloader.DownloadedSize.BitesToFormatedString() + "/" + SuperDownloader.TotalFileSize.BitesToFormatedString(); progressBar1.Value = SuperDownloader.DownloadProgress; }
private void downloadDataReceived(SDDataReceivedEventArgs args) { var offset = args.Offset; var count = args.Count; var data = args.Data; lock (this.monitor) { var justDownloadedRange = new SDDC(offset, count); var todoRange = this.ToDoRanges.Single(r => SDDataContainerHelper.RangesCollide(r, justDownloadedRange)); this.ToDoRanges.Remove(todoRange); var differences = SDDataContainerHelper.RangeDifference(todoRange, justDownloadedRange); this.ToDoRanges.AddRange(differences); var alreadyDoneRange = this.AlreadyDownloadedRanges.FirstOrDefault(r => r.End + 1 == justDownloadedRange.Start); if (alreadyDoneRange == null) { alreadyDoneRange = justDownloadedRange; this.AlreadyDownloadedRanges.Add(alreadyDoneRange); } else { alreadyDoneRange.Length += justDownloadedRange.Length; } var neighborRange = this.AlreadyDownloadedRanges.FirstOrDefault(r => r.Start == alreadyDoneRange.End + 1); if (neighborRange != null) { this.AlreadyDownloadedRanges.Remove(alreadyDoneRange); this.AlreadyDownloadedRanges.Remove(neighborRange); var combinedRange = new SDDC(alreadyDoneRange.Start, alreadyDoneRange.Length + neighborRange.Length); this.AlreadyDownloadedRanges.Add(combinedRange); } } this.OnDataReceived(new SDDataReceivedEventArgs(this, data, offset, count)); }
private void downloadDataReceived(SDDataReceivedEventArgs args) { AddSample(args.Count); }
private void OnRecived(SDDataReceivedEventArgs args) { }