public override void Stop()
{
lock (_stateLock)
{
lock (_thisLock)
{
if (this.State == ManagerState.Stop) return;
_state = ManagerState.Stop;
}
_watchThread.Join();
_watchThread = null;
if (_samManager != null) _samManager.Dispose();
_samManager = null;
lock (_thisLock)
{
if (_settings.I2pUri != null)
{
if (this.RemoveUri(_settings.I2pUri))
Log.Information(string.Format("Remove Node uri: {0}", _settings.I2pUri));
}
_settings.I2pUri = null;
}
}
}