Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FileAllocator"/> class.
 /// </summary>
 /// <param name="connection">Storage connection instance.</param>
 /// <param name="filesystemDescriptorAccessor">Filesystem descriptor accessor instance.</param>
 /// <param name="entryDescriptorRepository">File descriptor repository instance.</param>
 /// <param name="optimizer">Storage optimizer instance.</param>
 /// <param name="storageExtender">Storage extender instance.</param>
 /// <param name="storageOperationLocker">Storage operation locker instance.</param>
 /// <param name="logger">Logger instance.</param>
 public FileAllocator(
     IStorageConnection connection,
     IFilesystemDescriptorAccessor filesystemDescriptorAccessor,
     IEntryDescriptorRepository entryDescriptorRepository,
     IStorageOptimizer optimizer,
     IStorageExtender storageExtender,
     IStorageOperationLocker storageOperationLocker,
     ILogger logger)
 {
     _connection = connection;
     _filesystemDescriptorAccessor = filesystemDescriptorAccessor;
     _entryDescriptorRepository    = entryDescriptorRepository;
     _optimizer              = optimizer;
     _storageExtender        = storageExtender;
     _storageOperationLocker = storageOperationLocker;
     _logger = logger;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FileFsClient"/> class.
 /// </summary>
 /// <param name="fileRepository">File repository instance.</param>
 /// <param name="directoryRepository">Directory repository instance.</param>
 /// <param name="entryRepository">Entry repository instance.</param>
 /// <param name="externalFileManager">External file manager instance.</param>
 /// <param name="optimizer">Optimizer instance.</param>
 /// <param name="transactionWrapper">Transaction wrapper instance.</param>
 /// <param name="storageOperationLocker">Storage operation locker instance.</param>
 public FileFsClient(
     IFileRepository fileRepository,
     IDirectoryRepository directoryRepository,
     IEntryRepository entryRepository,
     IExternalFileManager externalFileManager,
     IStorageOptimizer optimizer,
     ITransactionWrapper transactionWrapper,
     IStorageOperationLocker storageOperationLocker)
 {
     _fileRepository         = fileRepository;
     _directoryRepository    = directoryRepository;
     _entryRepository        = entryRepository;
     _externalFileManager    = externalFileManager;
     _optimizer              = optimizer;
     _transactionWrapper     = transactionWrapper;
     _storageOperationLocker = storageOperationLocker;
 }
Ejemplo n.º 3
0
        private static IServiceProvider CreateServiceProvider(string storageFileName, IStorageOptimizer storageOptimizer = null, IStorageExtender storageExtender = null)
        {
            var services = new ServiceCollection();

            services.AddSingleton <ILogger>(new LoggerConfiguration().CreateLogger());
            services.AddFileFsDataAccessInMemory(storageFileName);

            storageOptimizer ??= new Mock <IStorageOptimizer>().Object;
            services.Replace(ServiceDescriptor.Singleton(storageOptimizer));

            storageExtender ??= new Mock <IStorageExtender>().Object;
            services.Replace(ServiceDescriptor.Singleton(storageExtender));

            var serviceProvider = services.BuildServiceProvider();

            return(serviceProvider);
        }