private void CreateTorrentManager() { if (_config.OperatingMode == OperatingMode.UnpackTorrentsFolderOnly) { _torrentManager = new FolderBasedTorrentManager(_config, _fileManager); } else { _torrentManager = new UTorrentManager(_config); } }
private void SetData(ITorrentManager manager, Dictionary<string, object> dictionary) { foreach(var key in dictionary.Keys) { object value = dictionary[key]; switch(key) { case "label": manager.Label = value.ToString(); break; case "ulrate": manager.Settings.MaxUploadSpeed = Convert.ToInt32(value); break; case "dlrate": manager.Settings.MaxDownloadSpeed = Convert.ToInt32(value); break; case "superseed": manager.Settings.InitialSeedingEnabled = Convert.ToBoolean(value); break; case "dht": manager.Settings.UseDht = Convert.ToBoolean(value); break; case "pex": manager.Settings.EnablePeerExchange = Convert.ToBoolean(value); break; case "ulslots": manager.Settings.UploadSlots = Convert.ToInt32(value); break; } } }
public void RemoveTorrent(ITorrentManager manager) { var hdknManager = manager as HdknTorrentManager; if (hdknManager != null) { // Stop torrent hdknManager.Stop(); while(hdknManager.State != HdknTorrentState.Stopped) Thread.Sleep(100); hdknManager.Unload(); _clientEngine.Unregister(hdknManager.Manager); _torrents.Remove(hdknManager.InfoHash); } }