public OnlyOnceClientStoreMigrator(IClientStoreMigrator decorated, IClientStoreBaseliner baseliner, ISemaphoreFactory semaphoreFactory) { if (baseliner == null) { throw new ArgumentNullException(nameof(baseliner)); } _decorated = decorated ?? throw new ArgumentNullException(nameof(decorated)); _semaphoreFactory = semaphoreFactory ?? throw new ArgumentNullException(nameof(semaphoreFactory)); _semaphore = _semaphoreFactory.CreateLock(); _lazyBaseline = new Lazy <Task <int?> >(baseliner.GetBaseline, LazyThreadSafetyMode.PublicationOnly); _runResult = null; }
public ClientStoreMigrator(IEnumerable <IClientStoreMigrationStep> migrationSteps, IClientStoreBaseliner baseliner) { _migrationSteps = migrationSteps ?? throw new ArgumentNullException(nameof(migrationSteps)); _baseliner = baseliner ?? throw new ArgumentNullException(nameof(baseliner)); }