Ejemplo n.º 1
0
        private static void addFileReader(DataChannel channel, FileFragHelper_Read reader)
        {
            var find = findFileReaderByGuid(reader.CurrentFileInfo.fileGuid);

            if (find == null)
            {
                caches.FirstOrDefault(o => o.Key == channel).Value.Add(reader);
            }
            onFileCountChanged?.Invoke(channel, cuteFileCount(channel));
        }
Ejemplo n.º 2
0
        public static void readFragError(DataChannel channel, FileFragHelper_Read filereader)
        {
            removeFileReaderByGuid(channel, filereader.CurrentFileInfo.fileGuid);
            SendFileInfo <FileFragInfo> data = new SendFileInfo <FileFragInfo>
            {
                Data         = filereader.CurrentFileInfo,
                SendFileType = SendFileType.SendFileError
            };

            channel.SendChannelData(JsonConvert.SerializeObject(data));
        }
Ejemplo n.º 3
0
        private static void Read_onReadFrag(object sender, FileFragHelper_Read e)
        {
            var channel = findDataChannelByGuid(e.CurrentFileInfo.fileGuid);

            if (channel == null)
            {
                return;
            }
            Application.Current.Dispatcher.BeginInvoke(new Action(() =>
            {
                FileChannelMessageDeal.sendFileFrag(channel, e);
            }));
        }
Ejemplo n.º 4
0
        public static void sendFileFrag(DataChannel channel, FileFragHelper_Read filereader)
        {
            var find = findFileReaderByGuid(filereader.CurrentFileInfo.fileGuid);

            if (find != null)
            {
                SendFileInfo <FileFrag> data = new SendFileInfo <FileFrag>
                {
                    Data         = filereader.CurrentFrag,
                    SendFileType = SendFileType.SendFileFrag
                };
                find.CurrentFileInfo.currentFragIndex = filereader.CurrentFrag.currentFragIndex;
                onFragChanged?.Invoke(find.CurrentFileInfo, find.CurrentFileInfo);
                channel.SendChannelData(JsonConvert.SerializeObject(data));
            }
        }
Ejemplo n.º 5
0
        public static void startSendFile(DataChannel channel, FileFragHelper_Read filereader)
        {
            var find = findFileReaderByGuid(filereader.CurrentFileInfo.fileGuid);

            if (find == null)
            {
                caches.FirstOrDefault(o => o.Key == channel).Value.Add(filereader);
            }
            onFileCountChanged?.Invoke(channel, cuteFileCount(channel));
            SendFileInfo <FileFragInfo> data = new SendFileInfo <FileFragInfo>
            {
                Data         = filereader.CurrentFileInfo,
                SendFileType = SendFileType.StartSendFile
            };

            channel.SendChannelData(JsonConvert.SerializeObject(data));
        }
Ejemplo n.º 6
0
        public static void SelectFileToSend(DataChannel channel)
        {
            FileFragHelper_Read read = new FileFragHelper_Read();

            read.onReadFrag      += Read_onReadFrag;
            read.onEndReadFrag   += Read_onEndReadFrag;
            read.onReadFragError += Read_onReadFragError;
            var res = read.SelectFileToFragSend();

            if (res == false)
            {
                read.onReadFrag      -= Read_onReadFrag;
                read.onEndReadFrag   -= Read_onEndReadFrag;
                read.onReadFragError -= Read_onReadFragError;
                return;
            }
            else
            {
                addFileReader(channel, read);
                FileChannelMessageDeal.startSendFile(channel, read);
                read.StartRead();
            }
        }