Universal.Torrent.Client.ClientEngine.Unregister C# (CSharp) Method

Unregister() public method

public Unregister ( TorrentManager manager ) : void
manager TorrentManager
return void
        public void Unregister(TorrentManager manager)
        {
            CheckDisposed();
            Check.Manager(manager);

            MainLoop.QueueWait(delegate
            {
                if (manager.Engine != this)
                    throw new TorrentException("The manager has not been registered with this engine");

                if (manager.State != TorrentState.Stopped)
                    throw new TorrentException("The manager must be stopped before it can be unregistered");

                this._torrents.Remove(manager);

                manager.PieceHashed -= PieceHashed;
                manager.Engine = null;
                manager.DownloadLimiter.Remove(_downloadLimiter);
                manager.UploadLimiter.Remove(_uploadLimiter);
            });

            TorrentUnregistered?.Invoke(this, new TorrentEventArgs(manager));
        }