/// <summary> /// Initializes a new instance of the <see cref="StateSaver" /> class. /// </summary> /// <param name="writer">The writer.</param> /// <param name="engine">The engine.</param> protected StateSaver(IStateWriter writer, CoreReactiveEngine engine) { Debug.Assert(writer != null, "Reader should not be null."); Debug.Assert(engine != null, "Engine should not be null."); _writer = writer; _engine = engine; _registry = engine.Parent._registry; _snapshot = _registry.TakeSnapshot(); }
public void TruncateLoggedEntities(IQueryEngineRegistrySnapshot snapshot) { if (snapshot == null) { throw new ArgumentNullException(nameof(snapshot)); } Observers.ClearRemovedKeys(snapshot.RemovedObservers); Observables.ClearRemovedKeys(snapshot.RemovedObservables); SubjectFactories.ClearRemovedKeys(snapshot.RemovedSubjectFactories); Subjects.ClearRemovedKeys(snapshot.RemovedSubjects); ReliableSubscriptions.ClearRemovedKeys(snapshot.RemovedReliableSubscriptions); SubscriptionFactories.ClearRemovedKeys(snapshot.RemovedSubscriptionFactories); Subscriptions.ClearRemovedKeys(snapshot.RemovedSubscriptions); Other.ClearRemovedKeys(snapshot.RemovedOther); Templates.ClearRemovedKeys(snapshot.RemovedTemplates); }