Exemplo 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;
 }
Exemplo n.º 2
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);
        }