/// <summary> /// See <see cref="PrevalenceActivator.CreateEngine(System.Type, string)"/> /// </summary> /// <param name="systemType"></param> /// <param name="prevalenceBase"></param> /// <param name="formatter"></param> /// <param name="handler"></param> internal PrevalenceEngine(System.Type systemType, string prevalenceBase, BinaryFormatter formatter, ExceptionDuringRecoveryHandler handler) { _clock = new AlarmClock(); CommandLogReader reader = new CommandLogReader(CheckPrevalenceBase(prevalenceBase), formatter); RecoverSystem(systemType, reader, handler); _commandLog = reader.ToWriter(); _lock = new ReaderWriterLock(); _decorators = GetCommandDecorators(systemType); _paused = false; }