private void DataReciever() { try { bool isNewPathRecived = true; while (isNewPathRecived) { FileInfoFrame fileSystemEntity = Storage.GetNextTreePath(); if (fileSystemEntity != null) { if (!fileSystemEntity.IsFrameEmpty) { Write(fileSystemEntity.FileSystemEntity); } isNewPathRecived = Storage.OnPathRecived.WaitOne(); } else { isNewPathRecived = false; } } } catch (Exception ex) { int tti = 1; } finally { if (OnTreePopulatingFinish != null) { OnTreePopulatingFinish(this, EventArgs.Empty); } } }
public FileInfoFrame GetNextTreePath() { var result = new FileInfoFrame(); if (FileSystemEntities.Count > LastTreeSentIndex) { OnPathRecived.Set(); result.FileSystemEntity = FileSystemEntities[LastTreeSentIndex]; Interlocked.Increment(ref LastTreeSentIndex); return(result); } else { if (IsPathReceivingCompleted) { OnPathRecived.Set(); return(null); } } result.IsFrameEmpty = true; return(result); }
private void DataReciever() { try { bool isNewPathRecived = true; while (isNewPathRecived) { FileInfoFrame fileSystemEntity = Storage.GetNextXmlPath(); if (fileSystemEntity != null) { if (!fileSystemEntity.IsFrameEmpty) { Write(fileSystemEntity.FileSystemEntity); } isNewPathRecived = Storage.OnPathRecived.WaitOne(); if (DateTime.Now.Second % 10 == 0) { Document.Save(SaveLocation); } } else { isNewPathRecived = false; } } } catch (Exception ex) { int tti = 1; } finally { Document.Save(SaveLocation); if (OnXmlFilePopulateFinish != null) { OnXmlFilePopulateFinish(this, EventArgs.Empty); } } }