/// <summary> /// Initialise torrent related data and resources. /// </summary> /// <param name="torrentFileName"></param> public Torrent() { _selector = new Selector(); _manager = new Manager(); _diskIO = new DiskIO(_manager); _manager.AddToDeadPeerList("192.168.1.1"); _agent = new Agent(_manager, new Assembler()); _agent.Startup(); }
void TryOpenFileSystem(string filename) { try { treeView1.Nodes.Clear(); listView1.Items.Clear(); _selectedfile = filename; if (_fileManager != null) { _fileManager.Close(); } } catch (Exception ex) { PopupException(ex.Message); } Task.Factory.StartNew(new Action(() => { try { IStorageIO storage; string displayname; if (_selectedfile.StartsWith(@"\\.\")) { displayname = _selectedfile; AppendEventLog("\r\nReading Physical Drive: " + displayname); storage = new DiskIO(_selectedfile); } else { displayname = Path.GetFileName(filename); AppendEventLog("\r\nReading Disk Image: " + displayname); storage = new DiskImageIO(_selectedfile); } DisplayStorageName(displayname); _fileManager = new FileManager(storage); _fileManager.OnEventLog += FileSystem_OnEventLog; _fileManager.OnProgress += FileSystem_OnProgress; _fileManager.Open(); foreach (var item in _fileManager.Partitions) { item.IncludeDeletedEntry = _showdelentry; } DisplayPartitionTreeView(_fileManager.Partitions); if (_fileManager.Partitions.Count > 0) { ReadPartitionRoot(0); } else { throw new Exception("Error: No Partition Found!"); } } catch (Exception ex) { var info = ex.Message; if (ex.Message.Contains("denied")) { info = ex.Message + "\r\rRun as Administrator for physical drive access!"; } PopupException(info); } })); }
internal static bool Save(string path, Dictionary dictionary) { return(DiskIO.Save(path, dictionary)); }
internal static Dictionary Open(string path) { return(DiskIO.Open(path)); }
public void TestNullPassedForTorrentConextToFullyDownloadedTorrentBitfield() { DiskIO diskIO = new DiskIO(new Manager()); Assert.Throws <ArgumentNullException>(() => diskIO.FullyDownloadedTorrentBitfield(null)); }
public void TestNullPassedForTorrentConextToCreateLocalTorrentStructure() { DiskIO diskIO = new DiskIO(new Manager()); Assert.Throws <ArgumentNullException>(() => diskIO.CreateLocalTorrentStructure(null)); }
public void TestNullPassedForManagerToDiskIO() { Assert.Throws <ArgumentNullException>(() => { DiskIO diskIO = new DiskIO(null); }); }