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)); }
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)); }
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); })); }
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)); } }
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)); }
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(); } }