Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
    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);
    }
Esempio n. 4
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);
         }
     }
 }