/// <summary> /// Construct a new FullCheckpointStateMachine to use the given checkpoint backend (either fold-over or snapshot), /// drawing boundary at targetVersion. /// </summary> /// <param name="checkpointBackend">A task that encapsulates the logic to persist the checkpoint</param> /// <param name="targetVersion">upper limit (inclusive) of the version included</param> public FullCheckpointStateMachine(ISynchronizationTask checkpointBackend, long targetVersion = -1) : base( targetVersion, new VersionChangeTask(), new FullCheckpointOrchestrationTask(), checkpointBackend, new IndexSnapshotTask()) { }
/// <summary> /// Construct a new HybridLogCheckpointStateMachine to use the given checkpoint backend (either fold-over or /// snapshot), drawing boundary at targetVersion. /// </summary> /// <param name="checkpointBackend">A task that encapsulates the logic to persist the checkpoint</param> /// <param name="targetVersion">upper limit (inclusive) of the version included</param> public HybridLogCheckpointStateMachine(ISynchronizationTask checkpointBackend, long targetVersion = -1) : base(targetVersion, new VersionChangeTask(), checkpointBackend) { }