internal async Task HandleDirectoryAsync(ControllerParameter parameter) { var profile = parameter.SenderProfile; var handler = NewDirectoryReceiver; if (profile == null || handler == null || parameter.ConnectionType != LinkConnectionType.Tcp) { return; } var data = parameter.Packet.Data; var name = data["name"].As <string>(); using (var receiver = new DirectoryReceiver(this, profile, parameter.Stream, name)) { await parameter.ResponseAsync(new { status = "wait" }); await UpdateUIAsync(() => handler.Invoke(receiver)); await receiver.LoopAsync(); } }
private async Task HandleDirectoryAsync(IRequest parameter) { var profile = parameter.SenderProfile; var handler = NewDirectoryReceiver; if (profile == null || handler == null || parameter.NetworkType != NetworkType.Tcp) { return; } var data = parameter.Packet.Data; var name = data["name"].As <string>(); using (var receiver = new DirectoryReceiver(this.context, profile, parameter.Stream, name)) { await parameter.ResponseAsync(new { status = "wait" }); await this.dispatcher.InvokeAsync(() => handler.Invoke(receiver)); await receiver.LoopAsync(); } }
private void method_3(string string_1, FileTransDisrupttedType fileTransDisrupttedType_0, string string_2) { TransferingProject project = this.GetTransferingProject(string_1); project.method_2(string_2); IFileTransHelper interface2 = this.iobjectManager_0.Get(string_1); ResumedProjectItem item = null; if (interface2.imethod_4()) { DirectoryReceiver class2 = (DirectoryReceiver)interface2; item = new ResumedProjectItem(project.SenderID, project.OriginPath, project.TotalSize, project.OriginLastUpdateTime, interface2.imethod_8(), interface2.imethod_7(), interface2.imethod_9(), class2.method_0(), class2.method_1(), class2.method_2()); } else { item = new ResumedProjectItem(project.SenderID, project.OriginPath, project.TotalSize, project.OriginLastUpdateTime, interface2.imethod_8(), interface2.imethod_7(), interface2.imethod_9()); } this.class93_0.UpdateResumedProjectItem(item); this.iobjectManager_1.Remove(string_1); this.iobjectManager_0.Remove(string_1); this.FileTransDisruptted(project, fileTransDisrupttedType_0); }
public void imethod_4(TransferingProject transferingProject_0, ResumedProjectItem resumedProjectItem_0, bool bool_0) { this.iobjectManager_2.Remove(transferingProject_0.ProjectID); if (!this.iobjectManager_1.Contains(transferingProject_0.ProjectID)) { this.iobjectManager_1.Add(transferingProject_0.ProjectID, transferingProject_0); bool flag = bool_0 && (resumedProjectItem_0 != null); IFileTransHelper interface2 = null; if (transferingProject_0.IsFolder) { DirectoryReceiver class2 = flag ? new DirectoryReceiver(this.RnOiFeTpq, transferingProject_0.ProjectID, string_0, resumedProjectItem_0) : new DirectoryReceiver(this.RnOiFeTpq, transferingProject_0.ProjectID, transferingProject_0.LocalSavePath, transferingProject_0.TotalSize, string_0); class2.FileTransReceived += new CbGeneric <string>(this.OnSingleFileRevFinished); interface2 = class2; } else if (transferingProject_0.LocalSaveStream == null) { interface2 = flag ? new FileReceiver(this.RnOiFeTpq, transferingProject_0.ProjectID, resumedProjectItem_0) : new FileReceiver(this.RnOiFeTpq, transferingProject_0.ProjectID, transferingProject_0.LocalSavePath, transferingProject_0.TotalSize, string_0); } else { interface2 = new Class124(this.RnOiFeTpq, transferingProject_0.ProjectID, transferingProject_0.LocalSaveStream, transferingProject_0.TotalSize); } interface2.FileTransCompleted += new CbGeneric <string>(this.OnFileTransCompleted); interface2.FileTransDisruptted += new CbFileTransDisruptted(this.method_3); interface2.FileTransProgress += new CbFileSendedProgress(this.OnFileTransProgress); this.iobjectManager_0.Add(transferingProject_0.ProjectID, interface2); this.class93_0.RemoveResumedProjectItem(resumedProjectItem_0, !flag); if (flag) { this.FileTransStarted(transferingProject_0); } else { this.FileTransCompleted(transferingProject_0); } } }