/// <summary> /// Print the state change of a module in the console. /// </summary> /// <param name="sender">Sender object, here IServerModule.</param> /// <param name="eventArgs">EventArgs with the new state.</param> protected void OnModuleStateChanged(object sender, ModuleStateChangedEventArgs eventArgs) { lock (this) { var module = (IServerModule)sender; Console.WriteLine("{0} changed state to {1}", module.Name, eventArgs.NewState); } }
/// <summary> /// Print the state change of the module in the console. /// </summary> /// <param name="sender">Sender object as IServerModule.</param> /// <param name="eventArgs">EventArgs with new state.</param> protected void OnModuleStateChanged(object sender, ModuleStateChangedEventArgs eventArgs) { lock (this) { ClearCurrentConsoleLine(); var serverModule = (IServerModule)sender; Console.Write(serverModule.Name.PadRight(35) + " changed state to".PadRight(30)); CommandHelper.PrintState(eventArgs.NewState, true); WriteBashPostString(); } }
private void StateChangeEvent() { if (StateChanged != null) { var args = new ModuleStateChangedEventArgs() { EStateNOW = BaseModuleEState.Stopped, EStatePrev = EModuleState, StateDescription = "Změna stavu" }; StateChanged(this, args); } }
private void OnModuleStateChanged(object sender, ModuleStateChangedEventArgs eventArgs) { ModuleStateChanged?.Invoke(sender, eventArgs); }
private void OnModuleStateChanged(object sender, ModuleStateChangedEventArgs stateChanged) { // Reset NoChangeStep _noChangeTimer.Stop(); _noChangeTimer.Start(); // Ignore temporary states if (stateChanged.NewState.HasFlag(ServerModuleState.Initializing)) { return; } // Output state change if (stateChanged.NewState == ServerModuleState.Failure) { var module = (IServerModule)sender; Console.WriteLine("Module {0} failed with Exception:\n", module.Name); Console.WriteLine(ExceptionPrinter.Print(module.Notifications.OrderBy(n => n.Timestamp).Last(n => n.Severity == Severity.Error).Exception)); _failed = true; _awaitStep.Set(); } lock (ModuleManager) { // If we allready failed skip output if (_failed | _timedOut) { return; } var stepDone = false; switch (_currentStep) { case TestStep.StartAll: // Check if all auto start modules are on their feet var autoPlugin = ModuleManager.AllModules.Where(item => ModuleManager.BehaviourAccess <ModuleStartBehaviour>(item).Behaviour == ModuleStartBehaviour.Auto).ToArray(); var running = autoPlugin.Count(item => item.State == ServerModuleState.Running); var allAuto = autoPlugin.Length; if (running == allAuto) { stepDone = true; } Console.WriteLine("{0} of {1} auto started modules are running", running.ToString("D").PadLeft(_digits), allAuto); break; case TestStep.StartManuals: case TestStep.ReincarnateSingle: // Check if target service is back running running = ModuleManager.AllModules.Count(item => item.State == ServerModuleState.Running); if (running == _modulesCount) { stepDone = true; } Console.WriteLine("{0} of {1} modules are running", running.ToString("D").PadLeft(_digits), _modulesCount); break; case TestStep.StopAll: // Check if all auto start modules are stopped var stopped = ModuleManager.AllModules.Count(item => item.State == ServerModuleState.Stopped); if (stopped == _modulesCount) { stepDone = true; } Console.WriteLine("{0} of {1} modules stopped", stopped.ToString("D").PadLeft(_digits), _modulesCount); break; default: throw new ArgumentOutOfRangeException(); } if (stepDone) { _awaitStep.Set(); } } }
public static void OnChangeState(object p_sender, ModuleStateChangedEventArgs p_args) { Console.WriteLine($"{p_args.EStateNOW} a {p_args.EStatePrev}"); }