Beispiel #1
0
        private HdknTorrentManager RegisterTorrentManager(TorrentManager manager, byte[] data = null)
        {
            // register with engine
            if (_clientEngine.Contains(manager))
                return null;

            _clientEngine.Register(manager);

            // add to dictionary
            var hdknManager = new HdknTorrentManager(manager, _kvs, _fs, _mbus) { TorrentData = data };
            hdknManager.Load();

            _torrents.Add(hdknManager.InfoHash, hdknManager);

            _mbus.Send<ITorrentAdded>(m =>
            {
                m.Torrent = hdknManager;
            });

            // Save state whenever adding torrents.
            SaveState();

            return hdknManager;
        }