public override void Tick(int counter)
{
//If download is complete, set state to 'Seeding'
if (Manager.Complete && _state == TorrentState.Downloading)
{
_state = TorrentState.Seeding;
Manager.RaiseTorrentStateChanged(new TorrentStateChangedEventArgs(Manager, TorrentState.Downloading,
TorrentState.Seeding));
Manager.TrackerManager.Announce(TorrentEvent.Completed);
}
var peersToClose = Manager.Peers.ConnectedPeers
.Where(peer => !ShouldConnect(peer));
foreach (var peer in peersToClose)
peer.CloseConnection();
base.Tick(counter);
}