/// <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();
                }
Exemple #2
0
        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);
        }