Example #1
0
        // TODO: Break stop down into two-phases. Pre-stop alerts all modules about shutdown and does logging.
        // Stop will wait for all modules to indicate readiness or, after a timeout, force shutdown.
        public void Stop()
        {
            Log.LogInformation("Core is shutting down");

            Modules.StopAll(this);
            CoreModule.Stop();

            _started = false;

            // TODO: Should we publish a Stop event? Is anybody listening at this point?
        }