public DistributedContentCopier( DistributedContentStoreSettings settings, IAbsFileSystem fileSystem, IRemoteFileCopier fileCopier, IContentCommunicationManager copyRequester, IClock clock, ILogger logger) { Contract.Requires(settings != null); Contract.Requires(settings.ParallelHashingFileSizeBoundary >= -1); _settings = settings; _remoteFileCopier = fileCopier; _copyRequester = copyRequester; FileSystem = fileSystem; _clock = clock; var context = new Context(logger); _copyScheduler = settings.CopyScheduler.Create(context); if (_copyRequester is StartupShutdownSlimBase slimBase) { slimBase.StartupAsync(context).Result.ThrowIfFailure(); } _retryIntervals = settings.RetryIntervalForCopies; _maxRetryCount = settings.MaxRetryCount; }
public DistributedContentCopier( DistributedContentStoreSettings settings, IAbsFileSystem fileSystem, IRemoteFileCopier fileCopier, IContentCommunicationManager copyRequester, IClock clock, ILogger logger) { Contract.Requires(settings.ParallelHashingFileSizeBoundary >= -1); _settings = settings; _remoteFileCopier = fileCopier; CommunicationManager = copyRequester; FileSystem = fileSystem; _clock = clock; Context = new Context(logger); _copyScheduler = settings.CopyScheduler.Create(Context); _retryIntervals = settings.RetryIntervalForCopies; _maxRetryCount = settings.MaxRetryCount; }