public static void Stop() { if (!running) { return; } running = false; modules.Reverse(); foreach (INetModule !module in modules) { bool success; using (ImpatientWatcher watcher = new ImpatientWatcher("stopping net module " + module.ModuleName, "Calling module.StopModule()", 500)) { success = module.StopModule(); } if (!success) { Core.Log("Module '{0}' indicates that it failed to stop.", module.ModuleName); } } }
public static void Initialize() { using (ImpatientWatcher watcher = new ImpatientWatcher("NetStack starting", "Starting core", 100)) { modules = new ArrayList(); modules.Add(Core.Instance()); modules.Add(new IPModule()); modules.Add(new ArpModule()); modules.Add(new IcmpModule()); modules.Add(new TcpModule()); modules.Add(new UdpModule()); foreach (INetModule !module in modules) { watcher.NextStep("Starting module " + module.ModuleName, 100); bool success = module.Initialize(null); if (!success) { Core.Log("Error: Module '{0}' failed to initialize.", module.ModuleName); } } initialized = true; } }