public void Dispose()
{
renewTimer.Stop();
cancelSource.Cancel();
Clear();
devices = new HashSet<NatDevice>();
}
protected override void OnStop() { if (monitor != null) { Application.PeerCast.RemoveChannelMonitor(monitor); monitor.Dispose(); monitor = null; } base.OnStop(); }