Inheritance: IDisposable
        public StateProvider(string logFilePath, Logger logger, Serializer serializer)
        {
            this.logger = logger;
            this.serializer = serializer;

            this.logger.Log($"StateProvider({logFilePath})");

            // Open the progress vector stream from the log.
            this.progressVectorLog = new LogFile(this.logger.Log);
            this.progressVectorLog.Open(logFilePath, "ProgressVector");

            // Open the main stream from the log.
            this.operationLog = new LogFile(this.logger.Log);
            this.operationLog.Open(logFilePath, "Operations");
        }
 public CopyStateStream(
     long upToSequenceNumber,
     IOperationDataStream copyContext,
     ProgressVector localProgress,
     LogFile operationLog,
     IReplicationNotifier replicationNotifier,
     Logger logger,
     Serializer serializer)
 {
     this.upToSequenceNumber = upToSequenceNumber;
     this.copyContext = copyContext;
     this.localProgress = localProgress;
     this.logger = logger;
     this.serializer = serializer;
     this.log = operationLog;
     this.replicationNotifier = replicationNotifier;
     this.records = operationLog.GetAllRecords().GetEnumerator();
 }