public void Stop() { if (!isStarted) { return; } isStarted = false; messageListener?.StopAsync() .GetAwaiter().GetResult(); Sessions?.Stop(); receiver?.Stop(); }
public void Stop() { Log.Debug("Stopping Agent..."); //if (!isStarted) return; //isStarted = false; if (messageListener != null) { try { var timeout = TimeSpan.FromSeconds(30); using (var tokenSource = new CancellationTokenSource(timeout)) { messageListener.Stop(tokenSource.Token); } } catch (Exception error) { Log.Error("Failed to stop TCP message listener!", error); } } try { Sessions?.Stop(); } catch (Exception error) { Log.Error("Failed to stop session manager!", error); } try { receiver?.Stop(); } catch (Exception error) { Log.Error("Failed to stop HTTP receiver!", error); } Log.Info("Agent stopped."); }