public void ConfigureServices(IServiceCollection services) { services.AddLogging(logging => { logging.AddFilter("Microsoft", LogLevel.None); logging.AddFilter("Microsoft.Hosting.Lifetime", LogLevel.Information); }); // ::: get from config file var topicFactory = new FileTopicFactory(new TopicFactoryOptions { DirectoryPath = @"C:\temp\storage", PersistentStorageFileLengthThreshold = 100 * 1024 * 1024, SubscriptionPointersStorageFileLengthThreshold = 10 * 1024 * 1024, TopicOptions = new TopicOptions { PersistenceIntervalMilliseconds = 100, PersistenceMaxFails = 100, CleanupMaxFails = 10000, SubscriptionPointersFlushMaxFails = 500, DataArrayOptions = new InfiniteArrayOptions { BlockLength = 100000, DataListCapacity = 128, MinimumFreeBlocks = 20 } } }); var topicsConfigStorage = new TopicsConfigurationFileStorage(new TopicsConfigurationFileStorageOptions { ConfigurationFile = @"C:\temp\storage\Topics.json" }); var server = new Core.Server(topicFactory, topicsConfigStorage); services.AddSingleton <IServer>(server); services.AddSingleton <FastQueueServiceImpl>(); services.AddHostedService <FastQueueCoreServer>(); services.AddGrpc(); }
public void ConfigureServices(IServiceCollection services) { services.AddLogging(logging => { logging.AddFilter("Microsoft", LogLevel.None); logging.AddFilter("Microsoft.Hosting.Lifetime", LogLevel.Information); }); var fastQueueConfiguration = FastQueueConfiguration.Read(configuration); var topicFactory = new FileTopicFactory(fastQueueConfiguration.TopicFactoryOptions); var topicsConfigStorage = new TopicsConfigurationFileStorage(fastQueueConfiguration.TopicsConfigurationFileStorageOptions); var server = new Core.Server(topicFactory, topicsConfigStorage); services.AddSingleton <IServer>(server); services.AddSingleton <FastQueueServiceImpl>(); services.AddHostedService <FastQueueCoreServer>(); services.AddGrpc(); }