OctoTorrent.Client.StoppingMode.StoppingMode C# (CSharp) Method

StoppingMode() public method

public StoppingMode ( TorrentManager manager ) : System.Linq
manager TorrentManager
return System.Linq
        public StoppingMode(TorrentManager manager)
            : base(manager)
        {
            CanAcceptConnections = false;
            var engine = manager.Engine;

            var hashingMode = manager.Mode as HashingMode;
            if (hashingMode != null)
                _handle.AddHandle(hashingMode.HashingWaitHandle, "Hashing");

            if (manager.TrackerManager.CurrentTracker != null)
                _handle.AddHandle(manager.TrackerManager.Announce(TorrentEvent.Stopped), "Announcing");

            foreach (var id in manager.Peers.ConnectedPeers.Where(id => id.Connection != null))
                id.Connection.Dispose();

            manager.Peers.ClearAll();

            _handle.AddHandle(engine.DiskManager.CloseFileStreams(manager), "DiskManager");

            manager.Monitor.Reset();
            manager.PieceManager.Reset();
            engine.ConnectionManager.CancelPendingConnects(manager);
            engine.Stop();
        }