Ejemplo n.º 1
0
        public void Stop()
        {
            if (!isStarted)
            {
                return;
            }
            isStarted = false;

            messageListener?.StopAsync()
            .GetAwaiter().GetResult();

            Sessions?.Stop();
            receiver?.Stop();
        }
Ejemplo n.º 2
0
        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.");
        }