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;
        }
Пример #2
0
        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;
        }