public ApplicationProcessRecompensationOrchestrator( IFileNameProvider fileNameProvider, ICorrelationInitializer correlationInitializer) { _fileNameProvider = fileNameProvider; _correlationInitializer = correlationInitializer; }
public CvUploader( IFileWriter fileWriter, IFileNameProvider fileNameProvider) { _fileWriter = fileWriter; _fileNameProvider = fileNameProvider; }
public ChunkGenerationJob( IFileNameProvider fileNameProvider, IConfigurationProvider configurationProvider, Func <string, IFileWriter> fileWriterFactory, Func <IChunkGenerator> chunkGeneratorFactory) { _fileNameProvider = fileNameProvider; _fileWriterFactory = fileWriterFactory; _chunkGeneratorFactory = chunkGeneratorFactory; var threadsCount = configurationProvider.ThreadsCount - 2; _generateQueue = new BlockingCollection <long>(new ConcurrentBag <long>(), threadsCount); _writeQueue = new BlockingCollection <string>(new ConcurrentBag <string>(), threadsCount); _generateCancellationTokenSource = new CancellationTokenSource(); _writeCancellationTokenSource = new CancellationTokenSource(); _generateTasks = new Task[threadsCount]; for (var i = 0; i < threadsCount; i++) { _generateTasks[i] = new Task(() => GenerateChunk(_generateCancellationTokenSource.Token)); } _writeTask = new Task(() => WriteToFile(_writeCancellationTokenSource.Token)); }
private void Compress(ICompressStrategy strategy, IFileNameProvider sourceFileNameProvider, IFileNameProvider targetFileNameProvider) { _wasException = null; var sourceFileName = sourceFileNameProvider.GetFileName(); if (!File.Exists(sourceFileName)) { throw new FileNotFoundException($"Не найден файл {sourceFileName}"); } // создание очередей var loggerForQueue = new LoggerDummy(); var queueForRead = new PartQueue("ForRead", loggerForQueue); _queues.Add(queueForRead); var queueForCompress = new PartQueue("ForCompress", loggerForQueue); _queues.Add(queueForCompress); var queueForWrite = new IndexedParts("ForWrite", loggerForQueue); _queues.Add(queueForWrite); _stopEvent = new ManualResetEventSlim(false); // создание обработчиков очередей var writer = new Writer(_logger, _systemInfoProvider, ApplExceptionHandler, targetFileNameProvider, _stopEvent, queueForWrite, queueForRead); _queueHandlers.Add(writer); var archiversRuner = new CompressRuner(_logger, _systemInfoProvider, ApplExceptionHandler, queueForCompress, queueForWrite); _queueHandlers.Add(archiversRuner); var partReader = new FilePartReader(_logger, strategy); var reader = new Reader(_logger, _systemInfoProvider, ApplExceptionHandler, sourceFileNameProvider, partReader, queueForRead, queueForCompress); _queueHandlers.Add(reader); // вывод отладочной информации var sourceFileInfo = new FileInfo(sourceFileName); _logger.Add($"Размер файла {sourceFileInfo.Length} byte"); AddSystemInfo(); var maxActivePartCount = strategy.MaxActivePartCount; _logger.Add($"Максимальное кол-во одновременно обрабатываемых частей {maxActivePartCount} шт."); _logger.Add($"Размер одной части {strategy.PartSize} byte"); _logger.Add("Работа начата..."); _stopWatch.Reset(); _stopWatch.Start(); for (var i = 0; i < maxActivePartCount; i++) { var part = new FilePart($"FilePart{i + 1}"); queueForRead.Add(part); } StopEventWait(); }
private void Decompress(IDecompressStrategy strategy, IFileNameProvider sourceFileNameProvider, IFileNameProvider targetFileNameProvider) { // нужно читать из файла части заархивированные // они начинаются с 10 байт (31,139,8,0,0,0,0,0,4,0) // эти части по отдельности отдавать на декомпрессию _wasException = null; var sourceFileName = sourceFileNameProvider.GetFileName(); if (!File.Exists(sourceFileName)) { throw new FileNotFoundException($"Не найден файл {sourceFileName}"); } // создание очередей var loggerForQueue = new LoggerDummy(); var queueForRead = new PartQueue("ForRead", loggerForQueue); _queues.Add(queueForRead); var queueForDecompress = new PartQueue("ForDecompress", loggerForQueue); _queues.Add(queueForDecompress); var queueForWrite = new IndexedParts("ForWrite", loggerForQueue); _queues.Add(queueForWrite); _stopEvent = new ManualResetEventSlim(false); // создание обработчиков очередей var writer = new Writer(_logger, _systemInfoProvider, ApplExceptionHandler, targetFileNameProvider, _stopEvent, queueForWrite, queueForRead); _queueHandlers.Add(writer); var decompressRuner = new DecompressRuner(_logger, _systemInfoProvider, ApplExceptionHandler, queueForDecompress, queueForWrite); _queueHandlers.Add(decompressRuner); var partReader = new ArсhivePartReader(_logger); var reader = new Reader(_logger, _systemInfoProvider, ApplExceptionHandler, sourceFileNameProvider, partReader, queueForRead, queueForDecompress); _queueHandlers.Add(reader); var sourceFileInfo = new FileInfo(sourceFileName); _logger.Add($"Размер файла {sourceFileInfo.Length} byte"); AddSystemInfo(); _logger.Add("Работа начата..."); _stopWatch.Reset(); _stopWatch.Start(); for (var i = 0; i < strategy.MaxActivePartCount; i++) { var part = new FilePart($"FilePart{i + 1}"); queueForRead.Add(part); } StopEventWait(); }
/// <summary> /// Default constructor /// </summary> /// <param name="subdirectoriesPathProvider"><see cref="ISubdirectoriesPathProvider"/></param> /// <param name="imageContentProvider"><see cref="IImageContentProvider{ImageContentType}"/></param> /// <param name="fileNameProvider"><see cref="IFileNameProvider"/></param> /// <exception cref="ArgumentNullException">Thrown when one of input parameters is null</exception> public ImagesService(ISubdirectoriesPathProvider subdirectoriesPathProvider, IImageContentProvider <ImageContentType> imageContentProvider, IFileNameProvider fileNameProvider) { _subdirectoriesPathProvider = subdirectoriesPathProvider ?? throw new ArgumentNullException(nameof(subdirectoriesPathProvider)); _imageContentProvider = imageContentProvider ?? throw new ArgumentNullException(nameof(imageContentProvider)); _fileNameProvider = fileNameProvider ?? throw new ArgumentNullException(nameof(fileNameProvider)); }
public PhotoUploader( IFileWriter fileWriter, IFileNameProvider fileNameProvider, ICorrelationInitializer correlationInitializer) { _fileWriter = fileWriter; _fileNameProvider = fileNameProvider; _correlationInitializer = correlationInitializer; }
public void ExecuteDecompress(IDecompressStrategy strategy, IFileNameProvider sourceFileNameProvider, IFileNameProvider targetFileNameProvider) { if (Thread.CurrentThread.Name == null) { Thread.CurrentThread.Name = "Main"; } Decompress(strategy, sourceFileNameProvider, targetFileNameProvider); }
public DataCollectionFiles( IDataCollectionNameProvider dataCollectionNameProvider, IStoragesProvider storageProvider, IFileNameProvider fileNameProvider) { _dataCollectionName = dataCollectionNameProvider.GetDataCollectionName(); _storageProvider = storageProvider; _fileNameProvider = fileNameProvider; }
/// <summary> /// Default costructor /// </summary> /// <param name="imageContentProvider"><see cref="IImageContentProvider{ContentType}"/></param> /// <param name="fileNameProvider"><see cref="IFileNameProvider"/></param> /// <param name="path">Path to current directory</param> /// <exception cref="ArgumentNullException"> If one of input parameters is null</exception> public Directory(IImageContentProvider <ImageContentType> imageContentProvider, IFileNameProvider fileNameProvider, string path) { _imageContentProvider = imageContentProvider ?? throw new ArgumentNullException(nameof(imageContentProvider)); _fileNameProvider = fileNameProvider ?? throw new ArgumentNullException(nameof(fileNameProvider)); Path = path ?? throw new ArgumentNullException(nameof(path)); }
public CsharpCompilationProvider(ISyntaxTreeProvider syntaxTreeProvider, ICodeProvider codeProvider, IFileNameProvider fileNameProvider, IReferenceProvider referenceProvider, ICompilationOptionProvider compilationOptionProvider) { _syntaxTreeProvider = syntaxTreeProvider; _codeProvider = codeProvider; _fileNameProvider = fileNameProvider; _referenceProvider = referenceProvider; _compilationOptionProvider = compilationOptionProvider; }
public Writer(ILogger logger, ISystemInfoProvider systemInfoProvider, Action <Exception> applExceptionHandler, IFileNameProvider targetFileNameProvider, ManualResetEventSlim stopEvent, IQueue sourceQueue, IQueue nextQueue) : base(logger, systemInfoProvider, applExceptionHandler, sourceQueue, nextQueue) { _targetFileNameProvider = targetFileNameProvider; _stopEvent = stopEvent; InnerThread = new Thread(Run) { Name = "Writer" }; InnerThread.Start(); }
public Reader(ILogger logger, ISystemInfoProvider systemInfoProvider, Action <Exception> applExceptionHandler, IFileNameProvider sourceFileNameProvider, IPartReader partReader, IQueue sourceQueue, IQueue nextQueue) : base(logger, systemInfoProvider, applExceptionHandler, sourceQueue, nextQueue) { _sourceFileNameProvider = sourceFileNameProvider; _partReader = partReader; InnerThread = new Thread(Run) { Name = "Reader" }; InnerThread.Start(); }
static int Main(string[] args) { var logger = new CompositeLogger(); var fileLog = new FileLogger("GZipTest.log"); logger.AddChild(fileLog); logger.AddChild(new ConsoleLogger()); try { var argsParser = new ArgsParser(logger); var param = argsParser.ParsParams(args); if (param == null) { return(1); } _sourceFileNameProvider = new FileNameProviderStub(param.SourceFileName); _targetFileNameProvider = new FileNameProviderStub(param.TargetFileName); var systemInfoProvider = new SystemInfoProvider(); var appl = new Appl(logger, systemInfoProvider); switch (param.ApplMode) { case ApplMode.Compress: var compressStrategy = new SmartCompressStrategy(systemInfoProvider); appl.ExecuteCompress(compressStrategy, _sourceFileNameProvider, _targetFileNameProvider); break; case ApplMode.Decompress: var decompressStrategy = new SmartDecompressStrategy(systemInfoProvider); appl.ExecuteDecompress(decompressStrategy, _sourceFileNameProvider, _targetFileNameProvider); break; } return(0); } catch (Exception ex) { logger.Add("Произошла ошибка. Выполнение программы будет завершено\r\n" + ex.Message + "\r\n" + ex.StackTrace); AddInnerExceptionToLog(ex, logger); return(1); } finally { logger.Close(); } }
public FsRPCBase( ServiceProfile profile, IServiceDeployment serviceDeployment, IFileNameProvider provider, IContextPool <FsBaseExecSvc.Interface.IServiceContext> contextPool, ILogger <FsRPCBase> logger, IOSHelper oSHelper) { this.contextPool = contextPool; this.profile = profile; this.logger = logger; this.serviceDeployment = serviceDeployment; this.provider = provider; this.oshelper = oSHelper; }
public DataCollector( IDestinationProvider destinationProvider, IDataPreparer DataPreparer, ICollectItemsProvider collectItemsProvider, IFileNameProvider fileNameProvider, IDelay delay, ICollectItemsCollector collectItemsCollector) { _destinationProvider = destinationProvider; _dataPreparer = DataPreparer; _collectItemsProvider = collectItemsProvider; _fileNameProvider = fileNameProvider; _delay = delay; _collectItemsCollector = collectItemsCollector; }
public CollectItemsCollector( IFileNameProvider fileNameProvider) { _fileNameProvider = fileNameProvider; }
public FileWriter(IFileNameProvider fileNameProvider) { _fileNameProvider = fileNameProvider; }
/// <summary> /// Creates instance of compositive directory /// </summary> /// <param name="imageContentProvider"><see cref="IImageContentProvider{ContentType}"/></param> /// <exception cref="ArgumentNullException">Thrown when one of input parameters is null</exception> public SimpleDirectory(IImageContentProvider <ImageContentType> imageContentProvider, IFileNameProvider fileNameProvider, string path) : base(imageContentProvider, fileNameProvider, path) { }
/// <summary> /// Returns new instance of <see cref="CompositiveDirectory{ImageContentType}"/> /// </summary> /// <param name="imageContentProvider"><see cref="IImageContentProvider{ContentType}"/></param> /// <param name="fileNameProvider"><see cref="IFileNameProvider"/></param> /// <param name="path">Path to current directory</param> /// <returns><see cref="CompositiveDirectory{ImageContentType}"/></returns> public static CompositiveDirectory <ImageContentType> New(IImageContentProvider <ImageContentType> imageContentProvider, IFileNameProvider fileNameProvider, string path) => new CompositiveDirectory <ImageContentType>(imageContentProvider, fileNameProvider, path);
public UploadFileCommandHandler(IBlobStorage blobStorage, IFileNameProvider fileNameProvider) { _blobStorage = blobStorage ?? throw new ArgumentNullException(nameof(blobStorage)); _fileNameProvider = fileNameProvider ?? throw new ArgumentNullException(nameof(fileNameProvider)); }
/// <summary> /// Creates instance of compositive directory /// </summary> /// <exception cref="ArgumentNullException">Thrown when one of input parameters is null</exception> public CompositiveDirectory(IImageContentProvider <ImageContentType> imageContentProvider, IFileNameProvider fileNameProvider, string path) : base(imageContentProvider, fileNameProvider, path) { _subDirectories = new List <Directory <ImageContentType> >(); }
public ApplicationProcessRecompensationOrchiestrator(IFileNameProvider fileNameProvider) { _fileNameProvider = fileNameProvider; }