public bool TryParseTransferStatus(string rawLine, out FileTransferStatus status) { bool success = false; status = new FileTransferStatus(); if (!String.IsNullOrEmpty(rawLine)) { string line = rawLine.TrimEnd(); Match match = this.regExStatus.Match(line); if (match.Success) { string[] update = line.Split('|'); status.Filename = update[0].Trim(); status.BytesTransferred = int.Parse(update[1].Replace("kB", "").Trim()); status.TransferRate = float.Parse(update[2].Replace("kB/s", "").Trim()); status.TimeLeft = update[3].Replace("ETA:", "").Trim(); status.PercentComplete = int.Parse(update[4].Replace("%", "").Trim()); success = true; } else { Log.WarnFormat("Unable to parse OutputData: {0}", line); } } return(success); }
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string _file = "/Resources/Images/"; FileTransferType _transferType = (FileTransferType)values[0]; FileTransferStatus _status = (FileTransferStatus)values[1]; PausedBy _pausedBy = (PausedBy)values[2]; switch (_transferType) { case FileTransferType.Download: _file += "Download"; break; case FileTransferType.Upload: _file += "Upload"; break; } switch (_status) { case FileTransferStatus.Cancelled: _file += "Cancelled"; break; case FileTransferStatus.Error: _file += "Error"; break; case FileTransferStatus.Finished: _file += "Finished"; break; case FileTransferStatus.Paused: _file += "Paused"; switch (_pausedBy) { case PausedBy.User: _file += "ByUser"; break; case PausedBy.OtherPeer: _file += "ByOtherPeer"; break; case PausedBy.Both: _file += "ByBoth"; break; } break; case FileTransferStatus.Running: _file += "Running"; break; } _file += ".png"; return((new System.Windows.Media.ImageSourceConverter()).ConvertFromString("pack://application:,,," + _file)); }
public FileTransferOut(NetworkConnection recipient, FileTransferType fileType, string filePath) { connection = recipient; FileType = fileType; FilePath = filePath; FileName = Path.GetFileName(filePath); Acknowledged = false; SentOffset = 0; KnownReceivedOffset = 0; Status = FileTransferStatus.NotStarted; startingTime = DateTime.Now; int maxRetries = 4; for (int i = 0; i <= maxRetries; i++) { try { data = File.ReadAllBytes(filePath); } catch (System.IO.IOException e) { if (i >= maxRetries) { throw; } DebugConsole.NewMessage("Failed to initiate a file transfer {" + e.Message + "}, retrying in 250 ms...", Color.Red); Thread.Sleep(250); } } }
public static string Name(this FileTransferStatus status) { switch (status) { case FileTransferStatus.Pending: return("PENDING"); case FileTransferStatus.InProgress: return("In Progress"); case FileTransferStatus.TransferComplete: return("Transfer Complete"); case FileTransferStatus.RetryLimitExceeded: return("Retry Limit Exceeded"); case FileTransferStatus.ConfirmedComplete: return("Complete"); case FileTransferStatus.Accepted: case FileTransferStatus.Rejected: case FileTransferStatus.Stalled: case FileTransferStatus.Cancelled: case FileTransferStatus.Error: return(status.ToString()); default: return("N/A"); } }
/// <summary> /// Update the progress bars and associated text labels with transfer progress /// </summary> /// <param name="currentFile">Object containing the current file being transferred</param> /// <param name="sofar">The bytes transferred sofar</param> /// <param name="total">The total number of bytes we're expecting</param> /// <param name="fileNum">The current file number being transferred.</param> /// <param name="totalFiles">The total number of files we're expecting to be transferred</param> public void UpdateProgress(FileTransferStatus currentFile, int sofar, int total, int fileNum, int totalFiles) { if (InvokeRequired) { BeginInvoke((MethodInvoker) delegate { UpdateProgress(currentFile, sofar, total, fileNum, totalFiles); }); } else { labelCurrentFile.Text = String.Format( LocalizedText.frmTransferStatus_labelCurrentFile, currentFile.Filename, currentFile.BytesTransferred, currentFile.TransferRate, currentFile.TimeLeft); progressBarCurrentFile.Value = currentFile.PercentComplete; labelCurrentPercent.Text = string.Format(LocalizedText.frmTransferStatus_UpdateProgress_Percent, currentFile.PercentComplete); labelOverall.Visible = progressBarOverall.Visible = labelOverallPct.Visible = totalFiles > 1; if (fileNum >= totalFiles) { progressBarOverall.Value = 100; labelOverallPct.Text = LocalizedText.frmTransferStatus_UpdateProgress__100_percent; button1.Text = LocalizedText.frmTransferStatus_UpdateProgress_Close; } else if (totalFiles > 1) { progressBarOverall.Value = (int)((float)sofar / total * 100); labelOverallPct.Text = String.Format(LocalizedText.frmTransferStatus_UpdateProgress_Percent, progressBarOverall.Value); labelOverall.Text = String.Format(LocalizedText.frmTransferStatus_labelOverall, sofar, total, fileNum, totalFiles); } } }
public static LogEntry CreateLogEntry(FileTransferStatus fileTransferStatus) { return(new LogEntry { TransferStatus = fileTransferStatus, UTCdate = DateTime.UtcNow }); }
public void ChangeProgress(long bytes, FileTransferStatus status) { var oldStatus = TransferStatus; TransferStatus = status; BytesReceived = bytes; if (oldStatus != status) TransferStatusChanged(this, new TransferEventArgs(this)); TransferProgressChanged(this, new TransferEventArgs(this)); }
public static bool TransfercompletedSucessfully(this FileTransferStatus status) { switch (status) { case FileTransferStatus.TransferComplete: case FileTransferStatus.ConfirmedComplete: return(true); default: return(false); } }
public static bool TransferStartedButDidNotComplete(this FileTransferStatus status) { switch (status) { case FileTransferStatus.InProgress: case FileTransferStatus.Stalled: case FileTransferStatus.Cancelled: return(true); default: return(false); } }
public void ChangeProgress(long bytes, FileTransferStatus status) { var oldStatus = TransferStatus; TransferStatus = status; BytesReceived = bytes; if (oldStatus != status) { TransferStatusChanged(this, new TransferEventArgs(this)); } TransferProgressChanged(this, new TransferEventArgs(this)); }
public FileTransferOut(NetConnection recipient, FileTransferType fileType, string filePath) { connection = recipient; FileType = fileType; FilePath = filePath; FileName = Path.GetFileName(filePath); Status = FileTransferStatus.NotStarted; startingTime = DateTime.Now; data = File.ReadAllBytes(filePath); }
public static bool TransferNeverStarted(this FileTransferStatus status) { switch (status) { case FileTransferStatus.Pending: case FileTransferStatus.Accepted: case FileTransferStatus.Rejected: case FileTransferStatus.RetryLimitExceeded: case FileTransferStatus.Error: return(true); default: return(false); } }
private async Task <ResponseInfo> QueueSong(LocalSongViewModel song) { var file = Locator.Current.GetService <IFile>(); byte[] data = file.ReadAllBytes(song.Path); FileTransferStatus status = await NetworkMessenger.Instance.QueueRemoteSong(song.Model, data); if (status.ResponseInfo.Status == ResponseStatus.Success) { song.IsTransfering = true; status.TransferProgress.ObserveOn(RxApp.MainThreadScheduler) .Subscribe(x => { song.TransferProgress = x; }, () => song.IsTransfering = false); } return(status.ResponseInfo); }
public void UpdateInfos(KfsFileTransfer xfer) { // Update persistant data OrderID = xfer.OrderID; Direction = xfer is KfsFileUpload; Status = xfer.Status; File = xfer.LastFullPath; BytesTransfered = xfer.BytesTransferred; if (xfer is KfsFileUpload) { BytesToTransfer = ((KfsFileUpload)xfer).Size; } else { BytesToTransfer = ((KfsFileDownload)xfer).Version.Size; } Error = xfer.Error; // Update subitems this.Name = OrderID.ToString(); this.Text = this.Name; if (InError) { this.SubItems[ColumnKey.Status.ToString()].Text = "Failed"; this.SubItems[ColumnKey.Progress.ToString()].Text = Error.Reason; this.ForeColor = Color.Red; } else { this.SubItems[ColumnKey.Status.ToString()].Text = Base.GetEnumDescription(Status); this.SubItems[ColumnKey.Progress.ToString()].Text = Base.GetHumanFileSize(BytesTransfered) + "/" + Base.GetHumanFileSize(BytesToTransfer); this.ForeColor = Color.Black; } this.SubItems[ColumnKey.Direction.ToString()].Text = Direction ? "U" : "D"; this.SubItems[ColumnKey.File.ToString()].Text = File; }
public FileTransferJobStatusChangeEventArgs(FileTransferStatus oldStatus, FileTransferStatus newStatus) { this.oldStatus = oldStatus; this.newStatus = newStatus; }
void _wc_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e) { _progress = 100; _status = FileTransferStatus.Completed; }
public bool TryParseTransferStatus(string rawLine, out FileTransferStatus status) { bool success = false; status = new FileTransferStatus(); if (!String.IsNullOrEmpty(rawLine)) { string line = rawLine.TrimEnd(); Match match = this.regExStatus.Match(line); if (match.Success) { string[] update = line.Split('|'); status.Filename = update[0].Trim(); status.BytesTransferred = int.Parse(update[1].Replace("kB", "").Trim()); status.TransferRate = float.Parse(update[2].Replace("kB/s", "").Trim()); status.TimeLeft = update[3].Replace("ETA:", "").Trim(); status.PercentComplete = int.Parse(update[4].Replace("%", "").Trim()); success = true; } else { Log.WarnFormat("Unable to parse OutputData: {0}", line); } } return success; }
private void UpdateInstallationStep(FileTransferStatus status) { switch (status) { case FileTransferStatus.Paused: case FileTransferStatus.Waiting: case FileTransferStatus.WaitingForNonVoiceBlockingNetwork: InstallationStep = AppResources.waiting; break; case FileTransferStatus.WaitingForExternalPower: case FileTransferStatus.WaitingForExternalPowerDueToBatterySaverMode: InstallationStep = AppResources.waiting_for_power; break; case FileTransferStatus.WaitingForWiFi: InstallationStep = AppResources.waiting_for_wifi; break; case FileTransferStatus.Completed: case FileTransferStatus.Transferring: InstallationStep = Description ?? AppResources.loading_message; break; } }
partial void ProcessEachFileTransferStatus(FileTransferStatus notifies);
private void UpdateDownloadStatus(FileTransferStatus status) { DownloadStatus = status; switch (status) { case FileTransferStatus.Paused: case FileTransferStatus.Transferring: case FileTransferStatus.Waiting: case FileTransferStatus.WaitingForExternalPower: case FileTransferStatus.WaitingForExternalPowerDueToBatterySaverMode: case FileTransferStatus.WaitingForNonVoiceBlockingNetwork: case FileTransferStatus.WaitingForWiFi: IsDownloading = true; break; default: IsDownloading = false; break; } UpdateInstallationStep(status); }
void _wc_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e) { _progress = (int)(e.BytesSent / e.TotalBytesToSend); _status = FileTransferStatus.InProgress; }